body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    scroll-behavior: smooth; /* Para scroll suave al hacer clic en videos */
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    /* max-height: 3.2em;  Ajusta esta altura si es necesario basado en tu font-size y line-height.
                           Es mejor para un número fijo de líneas que el texto no se desborde. */
}

.aspect-w-16 {
    position: relative;
    width: 100%;
}

.aspect-h-9 {
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
}

/* Para asegurar que el contenido dentro del aspect ratio se posicione correctamente */
.aspect-w-16 > iframe, .aspect-h-9 > iframe { /* Aplicado directamente al iframe */
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

/* Estilo para el botón activo en la sidebar */
.sidebar-btn-active {
    background-color: #8B5CF6; /* purple-500 */
    color: white !important; /* !important para sobrescribir text-gray-700 si es necesario */
}
.sidebar-btn-active:hover {
    background-color: #7C3AED !important; /* purple-600 */
}

/* Asegurar que el sticky top funcione correctamente */
.sticky {
    position: -webkit-sticky; /* Para Safari */
    position: sticky;
}
.top-4 {
    top: 1rem; /* Equivalente a Tailwind top-4 */
}

/* Pequeño ajuste para el placeholder del input de búsqueda */
#searchInput::placeholder {
  color: #9ca3af; /* gray-400 */
}

/* Para que el icono de búsqueda esté bien alineado y no interfiera */
#searchInput + i {
    pointer-events: none;
}

/* Mejoras visuales para tarjetas de video */
.video-card-thumbnail-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio for thumbnail */
    background-color: #e5e7eb; /* gray-200, como fallback */
}

.video-card-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Asegura que la imagen cubra el área sin distorsionarse */
}

.video-card-play-icon-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0);
    transition: background-color 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-card:hover .video-card-play-icon-overlay {
    background-color: rgba(0, 0, 0, 0.4);
}

.video-card-play-icon {
    color: white;
    font-size: 3rem; /* Ajustar tamaño del icono de play */
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.video-card:hover .video-card-play-icon {
    opacity: 1;
}