body, html {
    margin: 0;
    padding: 0;
}
.chat{
    position: fixed;
    bottom: 15%;
    right: 2%;
    z-index: 105;
    display: flex;
    flex-direction: column;
    align-items: end;
}
#chat_open_icon{
    cursor: pointer;
    border: 1px solid #FFFFFF;
    border-radius: 36px;
}
.chat_container{
    /*position: fixed;*/
    /*top: 5%;*/
    /*height: 95vh;*/
    max-width: 430px;
    width: 430px;
    border-radius: 8px;
    border: 1px solid #E4E4E4;
    margin-bottom: 10px;
}
.chat_container.hidden {
    display: none;
}
.chat_container_wrapper{
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: auto;
    background: #FFFFFF;
    border-radius: 8px;
    width: 100%;
    position: relative;
}
.chat_header {
    position: relative;
    top: 0;
    width: 100%;
    z-index: 101;
    display: flex;
    background: #00AFF2;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-radius: 8px 8px 0 0;
    box-sizing: border-box;
}
.chat_image_wrapper {
    margin-top: 8px;
    display: flex;
    justify-content: flex-start;
}
.chat_image {
    max-width: 250px;
    max-height: 250px;
    border-radius: 8px;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}
.chat_image:hover {
    transform: scale(1.05);
}
.chat_header_wrapper{
    display: flex;
    align-items: flex-end;
    cursor: pointer;
}
.chat_header p{
    margin: 0;
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 16px;
    font-weight: 500;
    text-align: center;
    flex-grow: 1;
}
.chat_content{
    display: flex;
    flex-direction: column;
    gap: 36px;
    padding: 24px;
    background: #FFFFFF;
    flex: 1;
    overflow-y: auto;
    box-sizing: border-box;
    height: auto;
    max-height: 100%;
}
.user_chat{
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: center;
}
.user_chat_upper_wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.user_chat_text{
    border-radius: 8px;
    border: 1px solid #E4E4E4;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
}
.user_chat_text p{
    margin: 0;
    font-size: 12px;
    line-height: 14px;
    font-weight: 500;
    color: #231F20;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: pre-wrap;
    max-width: 100%;
}
.user_chat_date{
    margin: 8px 0 0 0;
    text-align: end;
    position: relative;
    right: 13%;
    font-size: 12px;
    line-height: 14px;
    font-weight: 500;
    color: #ABABAB;
}
.website_chat{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    max-width: 94%;
}
.website_chat_text p{
    margin: 0;
    font-size: 12px;
    line-height: 14px;
    font-weight: 500;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: pre-wrap;
    max-width: 100%;
    color: #FFFFFF;
}
.website_chat_upper_wrapper{
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 8px;
}
.website_chat_text{
    padding: 14px 16px;
    background: #00AFF2;
    border-radius: 8px;
}
.website_chat_date{
    position: relative;
    left: 13%;
    font-size: 12px;
    line-height: 14px;
    font-weight: 500;
    color: #ABABAB;
    margin: 8px 0 0 0;
}
.question_container{
    border: 1px solid #E4E4E4;
    border-radius: 32px;
    padding: 8px 16px;
    height: 100%;
    width: 100%;
}
.chat_title_wrapper{
    display: flex;
    flex-direction: column;
}
.question_container textarea{
    border: none;
    outline: none;
    width: 100%;
}
.question_container::placeholder {
    text-align: start;
    vertical-align: top;
    padding-top: 0;
}
.question_container p {
    margin: 0;
    font-size: 12px;
    line-height: 14px;
    font-weight: 500;
    color: #ABABAB;
}
.question_container_wrapper{
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}
.chat_send_button{
    border-radius: 64px;
    border: none;
    color: #FFFFFF;
    background: #a6a5a5;
    cursor: pointer;
    padding: 6px 8px;
}
#removeAudioButton{
    cursor: pointer;
    border: none;
    background: none;
}
.remove_audio {
    width: 28px;
    filter: brightness(0) saturate(100%) invert(17%) sepia(86%) saturate(7471%) hue-rotate(-1deg) brightness(105%) contrast(122%);
    rotate: 45deg;
}
.chat_send_button img{
    width: 30px;
    height: 30px;
}
.chat_audio_button{
    cursor: pointer;
    border: none;
    background: none;
}
.chat_audio_button img{
    width: 22px;
    height: 34px;
}
#input_selection{
    cursor: pointer;
    background: none;
    border: none;
}
.actions_list {
    width: 70%;
    display: none;
    position: absolute;
    bottom: 85px;
    background: #c2c2c2;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.action_item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 18px;
    color: white;
    cursor: pointer;
    border-bottom: 1px solid #333;
}
.action_item:hover{
    background: #a6a5a5;
}
.action_item:last-child {
    border-bottom: none;
}
.action_item img {
    width: 20px;
}
.logout_button{
    color: #FFFFFF;
    background: #00AFF2;
    border: 1px solid #FFFFFF;
    border-radius: 8px;
    padding: 1px 12px;
    cursor: pointer;
}
.profile-dropdown{
    display: flex;
    flex-direction: column;
    padding: 24px;
    background: #FFFFFF;
    border-radius: 8px;
}
#profile_container:hover .profile-dropdown{
    display: flex;
}
.profile-dropdown_tittle{
    font-weight: 600;
    font-size: 20px;
    line-height: 20px;
    color: #231F20;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.profile-dropdown_inputs{
    margin-bottom: 25px;
}
.header_mobile_menu_phone_input{
    margin-bottom: 10px;
}
.header_mobile_menu_phone_input.password{
    display: none;
}
.header_mobile_menu_phone_input input{
    font-size: 16px;
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #E4E4E4;
    background: #FFFFFF;
    padding: 14px 16px;
    border-radius: 8px;
}
.header_mobile_menu_phone_input input::placeholder{
    color: #E4E4E4;
}
.header_mobile_menu_phone_password_text{
    font-weight: 500;
    line-height: 14px;
    color: #ABABAB;
    font-size: 10px;
    text-align: start;
    margin-bottom: 4px;
}
.account_button{
    border-radius: 8px;
    padding: 14px 32px;
    background: #00AFF2;
    color: #FFFFFF;
    border: none;
    width: 100%;
    margin-bottom: 10px;
    cursor: pointer;
}
.chat_footer{
    padding: 12px;
    display: flex;
    flex-direction: column;
}
.login_prompt{
    display: flex;
    flex-direction: column;
    gap: 36px;
    padding: 24px;
    background: #FFFFFF;
    border-radius: 8px;
}
#chat_login{
    border-radius: 8px;
    border: 1px solid #00AFF2;
    padding: 14px 16px;
    color: #FFFFFF;
    background: #00AFF2;
    cursor: pointer;
}
textarea#chatInput {
    font-size: 16px;
    resize: none;
    overflow: auto;
    max-height: 45px;
    width: 100%;
}
.chat_audio_wrapper audio{
    width: 260px;
}
.image-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 9999;
}
.image-preview {
    max-width: 80%;
    max-height: 80%;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}
.loading-spinner-image {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(255, 255, 255, 0.3);
    border-top: 5px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-top: 20px;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.file-loading {
    position: relative;
    display: inline-block;
}
.chat_image_wrapper {
    position: relative;
}
.loading-image {
    opacity: 0.5;
}
.loading-spinner-picture {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 5px solid rgba(255, 255, 255, 0.6);
    border-top: 5px solid #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}
@media (max-width: 450px) {
    .chat_container{
        width: 98vw;
        max-width: 98%;
    }
    .chat_footer{
        padding: 12px;
    }
    .chat_image{
        max-width: 200px;
    }
    .chat_audio_wrapper audio{
        width: 220px;
    }
}