/* Estilo inicial para la ventana de chat flotante */
.window-chatbot {
    position: fixed;
    bottom: 5%;
    /* Posicionada 20px desde la parte inferior */
    right: 20px;
    /* Posicionada 20px desde la parte derecha */
    width: 35%;
    /* Ancho del 35% de la pantalla */
    height: 100vh;
    /* Ajuste completo a la ventana */
    max-height: 100vh;
    /* Evita desbordamiento en la ventana */
    z-index: 1000;
    /* Asegura que se mantenga en la parte superior */
    border-radius: 10px;
}

.chatbox-hidden {
    display: none;
    /* Oculta la ventana */
}

/* Opcional: animación de apertura/cierre */
.chatbox-visible {
    display: flex;
    animation: slideIn 0.5s forwards;
}

/* Ajustar el tamaño de .container-chat para que coincida con .window-chatbot */
.container-chat {
    width: 90vw;
    height: 90vh;
    margin: 0 auto;
    position: relative;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    padding-right: 0px;
    padding-left: 0px;
}

.body {
    background: #fafafa;
    flex-grow: 1;
    /* Permite que .body crezca y ocupe el espacio restante */
    overflow-y: auto;
    /* Permite el scroll si el contenido excede la altura */
    height: 40vh;
    /* Altura estándar para pantallas grandes */
    max-height: calc(100vh - 120px);
    /* Ajusta la altura máxima sin desbordar */
    width: auto;
    /* El ancho se ajusta al contenedor */
    padding: 10px;
    /* Espacio interno opcional */
    border-radius: 10px;
    /* Bordes redondeados opcionales */
}

.scroller {
    height: 100%;
    width: auto;
    overflow-y: auto;
    /* Habilitar el desplazamiento vertical */
    padding: 10px;
    background-color: #f8f9fa;
    /* Color de fondo opcional */
    border-radius: 10px;
    /* Bordes redondeados opcionales */
}

/* Botón flotante para abrir el chat */
#openChat {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1001;
    background-color: #05386b;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

#closeChat {
    cursor: pointer;
    color: white;
}

.card-body {
    flex-grow: 1;
    overflow-y: auto;
    padding: 10px;
    background: rgb(255, 255, 255);
}

.card-footer {
    background-color: #fff;
    padding: 10px;
}

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap');

body {
    background: #EEEEEE;
    font-family: 'Roboto', sans-serif;
}

.card-chat {
    width: 300px;
    max-width: 300px;
    height: auto;
    max-height: 500px;
    border: none;
    border-radius: 15px;
}

.adiv {
    background: #010d18;
    border-radius: 15px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    font-size: 12px;
    height: 46px;
}

.chat {
    border: none;
    background: #c3d3e2;
    font-size: 15px;
    border-radius: 20px;
    width: 100%;
    height: 100%;
}

.text-muted {
    border: none;
    font-size: 14px;
    /* Ajusta el tamaño de la fuente según sea necesario */
    background: #E2FFE8;
    font-size: 15px;
    border-radius: 20px;
}

@keyframes pulsate {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1);
        opacity: 0.5;
    }
}

.pulsating {
    display: inline-block;
    /* Permite que el efecto se aplique a la palabra */
    animation: pulsate 1s infinite;
    /* Duración y repetición del efecto */
}

.bg-white {
    border: 1px solid #e1e1eb;
    font-size: 15px;
    border-radius: 20px;
    max-width: 250px;
}

.myvideo img {
    border-radius: 20px;
    max-width: 30px;
    /* Añadido 'px' para la unidad */
    max-height: 30px;
    /* Añadido 'px' para la unidad */
}

.rounded-circle {
    border-radius: 20px;
    max-width: 30px;
    /* Añadido 'px' para la unidad */
    max-height: 30px;
    /* Añadido 'px' para la unidad */
}

.dot {
    font-weight: bold;
}

.form-control {
    border-radius: 12px;
    border: 1px solid #F0F0F0;
    font-size: 8px;
}

.form-control:focus {
    box-shadow: none;
}

.form-control::placeholder {
    font-size: 8px;
    color: #C4C4C4;
}

/* --- Responsividad --- */

/* Para pantallas móviles pequeñas (<768px) */
@media (max-width: 767px) {
    .window-chatbot {
        width: 100vw;
        /* Ancho completo de la pantalla */
        height: 75vh;
        /* Alto completo de la pantalla */
        bottom: 0;
        right: 0;
        margin: 0;
        border-radius: 0;
        /* Sin bordes redondeados */
    }

    .adiv {
        font-size: 14px;
        height: 50px;
        /* Ajuste en altura */
    }

    .chat {
        font-size: 12px;
        /* Ajusta el tamaño del texto del chat */
    }

    .bg-white {
        font-size: 12px;
    }

    .form-control {
        font-size: 14px;
        /* Tamaño de texto más grande para dispositivos móviles */
    }
}

/* Para pantallas tipo tabletas (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    .window-chatbot {
        width: 65vw;
        /* Ancho del 90% de la pantalla */
        height: 75vh;
        /* Alto del 80% de la pantalla */
        bottom: 10px;
        /* Un pequeño margen en la parte inferior */
        right: 10px;
        /* Un pequeño margen en la parte derecha */
        border-radius: 10px;
        /* Mantiene los bordes redondeados */
    }

    .adiv {
        font-size: 16px;
        height: 50px;
        /* Ajuste en altura */
    }

    .chat {
        font-size: 14px;
    }

    .bg-white {
        font-size: 14px;
    }

    .form-control {
        font-size: 14px;
        /* Ajuste del tamaño de fuente */
    }
}

/* Para pantallas grandes (>1024px) */
@media (min-width: 1025px) {
    .window-chatbot {
        width: 35%;
        /* Ancho del 35% en pantallas grandes */
        height: 55%;
        /* Alto del 55% */
        border-radius: 10px;
        /* Mantiene los bordes redondeados */
    }
}




/* Media Query para pantallas móviles (max-width: 767px) */
@media (max-width: 767px) {
    .container-chat {
        width: 100vw;
        /* Ocupar todo el ancho de la pantalla */
        height: 90vh;
        /* Ocupar todo el alto de la pantalla */
        bottom: 0;
        right: 0;
        position: fixed;
        /* Fijar en la parte inferior */
        border-radius: 0;
        /* Sin bordes redondeados */
        margin: 0;
        padding: 0;
    }
}

/* Media Query para tabletas (min-width: 768px y max-width: 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    .container-chat {
        width: 50vw;
        /* Ocupa el 90% del ancho de la pantalla */
        height: 66vh;
        /* Ocupa el 80% del alto de la pantalla */
        margin: 5vh auto;
        /* Centrado vertical y horizontal */
        border-radius: 10px;
        /* Mantener los bordes redondeados */
        padding: 0;
        /* Asegura que no haya relleno adicional */
    }
}

/* Media Query para pantallas grandes (min-width: 1025px) */
@media (min-width: 1025px) {
    .container-chat {
        width: 35vw;
        /* Ajusta el tamaño al 60% del ancho de la pantalla en pantallas grandes */
        height: 49vh;
        /* Mantén el 70% del alto de la pantalla */
        border-radius: 10px;
        /* Bordes redondeados */

        max-height: calc(100vh - 120px);

    }
}



/* Responsividad para pantallas pequeñas (teléfonos) */
@media (max-width: 767px) {
    .body {
        height: 70vh;
        /* Ajuste de altura en pantallas pequeñas */
        max-height: calc(100vh - 100px);
        /* Ajusta la altura máxima restando espacio para otros elementos */
        padding: 8px;
        /* Reduce el padding para pantallas pequeñas */
        border-radius: 5px;
        /* Ajusta el redondeado en pantallas pequeñas */
    }
}

/* Responsividad para pantallas medianas (tabletas) */
@media (min-width: 768px) and (max-width: 1024px) {
    .body {
        height: 55vh;
        /* Ajuste de altura en tabletas */
        max-height: calc(100vh - 110px);
        /* Ajusta la altura máxima para tabletas */
        padding: 9px;
        /* Ajuste ligero en el padding */
        border-radius: 8px;
        /* Ajuste del redondeado en tabletas */
    }
}

/* Responsividad para pantallas grandes (>1024px) */
@media (min-width: 1025px) {
    .body {
        height: 38vh;
        /* Altura estándar para pantallas grandes */
        /* Altura máxima restando el espacio de otros elementos */
        padding: 10px;
        border-radius: 10px;
    }
}