/* Estilos principales del reproductor */
.main-video {
    width: 100%;
    max-width: 800px;
    margin: 10px auto 20px;
    position: relative;
    display: flex; /* Para centrar el iframe cuando se ajusta el ancho */
    justify-content: center; /* Centrar horizontalmente */
    /* Asegurarse de que no haya restricciones de altura */
    height: auto; /* Permitir que la altura se ajuste al contenido */
    min-height: 0; /* Evitar restricciones mínimas */
    overflow: visible; /* Evitar que el contenido se recorte */
}

.iframe-wrapper {
    width: calc(100% - 8px);
    aspect-ratio: 16 / 9; /* Aspect-ratio inicial fijo de 16:9 */
    position: relative;
    margin: 4px;
    margin-top: 6px;
}

/* Pseudo-elemento para el borde con degradado dinámico */
.iframe-wrapper::before {
    content: '';
    position: absolute;
    inset: -6px; /* Ajustar para que el "borde" tenga un grosor de 6px */
    background: linear-gradient(160deg, #ff26ed, #44baff);
    background-size: 400% 400%;
    border-radius: 18px; /* Ajustar el border-radius para que coincida con el iframe + grosor del borde */
    z-index: 0;
    animation: gradientBorder 12s ease infinite;
}

.main-iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 12px;
    position: relative;
    z-index: 1;
    background: #000;
}

/* Clase para videos verticales (se aplicará con JavaScript) */
.iframe-wrapper.vertical {
    aspect-ratio: 9 / 16; /* Proporción para videos verticales */
}

/* Ajustes para anchos menores a 769px */
@media (max-width: 768px) {
    .main-video {
        width: 100%;
        max-width: 100%;
    }
    .iframe-wrapper {
        width: calc(100% - 8px);
        aspect-ratio: 16 / 9; /* Aspect-ratio inicial fijo de 16:9 */
    }
    .iframe-wrapper.vertical {
        aspect-ratio: 9 / 16; /* Proporción para videos verticales */
        max-height: 60vh; /* Limitar la altura máxima a 60% de la altura de la ventana */
        width: auto; /* Permitir que el ancho se ajuste según la proporción */
        max-width: calc(60vh * 9 / 16); /* Calcular el ancho máximo para mantener la proporción 9:16 */
    }
}

/* Ajustes para anchos mayores a 768px (versión de escritorio) */
@media (min-width: 769px) {
    .iframe-wrapper.vertical {
        max-height: 700px;
        width: calc(700px * 9 / 16) !important; /* Fuerza el ancho calculado */
        max-width: none; /* Opcional: elimina cualquier restricción adicional */
    }
}

/* Cuadrícula de miniaturas */
.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 800px;
    margin: 0 auto;
    padding-bottom: 80px;
}

.video-thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    aspect-ratio: 16/9;
    border: 1px solid #00000080;
}

.thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background: #FF0004;
    border-radius: 50%;
    clip-path: polygon(35% 25%, 35% 75%, 75% 50%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.video-thumbnail {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.video-thumbnail:hover {
    transform: scale(1.02);
    box-shadow: 0 0px 15px rgba(255, 0, 0, 0.8);
}

.video-thumbnail:hover .play-button {
    opacity: 1;
}

.video-thumbnail:hover .thumbnail-image {
    transform: scale(1.05);
}

/* Agregar cursor pointer a las miniaturas */
.video-thumbnail {
    cursor: pointer;
}

/* Asegurar que el iframe no anule el cursor */
.thumbnail-iframe {
    pointer-events: none;
    cursor: pointer !important; /* Fuerza el cursor aunque sea un iframe */
}

.video-thumbnail::before {
    content: '';
    position: absolute;
    inset: -1px;
    background: linear-gradient(45deg, 
        rgba(255, 255, 255, 0.1), 
        rgba(0, 0, 0, 0.1));
    border-radius: 8px;
    z-index: 1;
    pointer-events: none;
}

.thumbnail-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 8px;
    pointer-events: none;
}

/* Interacciones y animaciones */
.video-thumbnail:hover {
    transform: scale(1.05);
}

@keyframes gradientBorder {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}