/* Estilos para la bolita flotante */
.floating-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px; /* Tamaño inicial en ancho */
    height: 60px; /* Altura fija */
    background-color: #1a1a1a;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: width 0.3s ease, height 0.3s ease;
    border-radius: 50%; /* Inicialmente, es un círculo */
    overflow: hidden;
    z-index: 1000;
}

.floating-button:hover {
    background-color: #000000;
}

#floatingMessage {
    display: none;
    color: white;
    font-size: 14px;
    text-align: center;
    padding: 10px;
    white-space: nowrap; /* Evitar que el texto se rompa en varias líneas */
}

#buttonImage {
    width: 25px; /* Ajustar el tamaño de la imagen para que se vea en la bola cerrada */
    height: 25px;
    opacity: 1; /* Reducir la opacidad al 50% */
    filter: brightness(1000%);
    transition: opacity 0.5s ease; /* Suavizar la transición de opacidad */
}

.floating-button:hover #buttonImage {
    opacity: 1; /* La opacidad que se aplica al hacer hover sobre la imagen */
    filter: brightness(100%);
}



/* Modal general */
.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Overlay oscuro */
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: white;
    padding: 20px 20px 20px 20px; /* Espacio alrededor del video */
    padding-top: 50px; /* Espacio adicional en la parte superior para el botón de cerrar */
    border-radius: 10px;
    margin: 10px; /* Margen pequeño alrededor del modal */
    display: inline-block; /* Ajustar el tamaño al contenido */
    position: relative;
    max-width: 100%; /* Asegurar que no exceda el ancho de la pantalla */
    max-height: 100%; /* Asegurar que no exceda el alto de la pantalla */
    box-sizing: border-box; /* Asegurar que el padding esté incluido en el tamaño */
}

video {
    max-width: 100%; /* Ajustar el video al tamaño del modal sin excederlo */
    max-height: 80vh; /* Limitar el alto del video al 80% de la altura de la pantalla */
    display: block; /* Asegurar que el video se muestre como un bloque */
    margin: 0 auto; /* Centrar el video dentro del modal */
}

.close {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 20px;
    cursor: pointer;
    z-index: 1000; /* Asegurar que esté sobre el video */
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}



/* Efecto de agrandar la bolita cada cierto tiempo */
@keyframes grow-width {
    0% { 
        width: 60px; 
        border-radius: 50%; /* Comienza como un círculo */
        justify-content: center; /* Imagen centrada al principio */
    }
    40% { 
        width: 220px; /* Ancho máximo */
        border-radius: 50px; /* Mantener bordes redondeados */
        justify-content: flex-start; /* Imagen alineada a la izquierda cuando se expande */
        padding-left: 20px; /* Añadir espacio a la izquierda de la imagen */
    }
    70% { 
        width: 220px; /* Mantener el ancho estirado durante más tiempo */
        border-radius: 50px;
        justify-content: flex-start; /* Mantener la imagen alineada a la izquierda */
    }
    100% { 
        width: 60px; 
        border-radius: 50%; /* Vuelve a ser un círculo */
        justify-content: center; /* Imagen vuelve a centrarse cuando se repliega */
    }
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    max-width: 500px;
    margin: auto;
}

.close {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 20px;
    cursor: pointer;
}

/* Ajustes para dispositivos móviles */
@media (max-width: 768px) {
    .modal-content {
       /* width: 90vw;  Ajustar el ancho del modal a 90% del viewport en móviles */
        margin: 0 auto; /* Centrar el modal */
        padding: 15px; /* Margen uniforme de 15px en todos los lados */
        padding-top: 40px; /* Ajustar espacio superior para el botón de cerrar */
    }

    video {
        max-width: 100%; /* Asegurar que el video ocupe todo el ancho disponible */
        max-height: 60vh; /* Reducir un poco el alto del video en pantallas pequeñas */
        margin: 0 auto; /* Centrar el video dentro del modal */
        display: block;
    }
        #buttonImage {
        opacity: 1 !important; /* Mantener la opacidad constante en móvil */
        filter: none !important; /* Desactivar el filtro en móvil */
        transition: none; /* Eliminar las transiciones en móvil */
    }

    .floating-button:hover #buttonImage {
        opacity: 1; /* Evitar cambios de opacidad en hover para móviles */
        filter: none; /* Evitar filtros de color en hover para móviles */
    }
}