﻿/* =========================
   RADIO BUTTON
========================= */

.custom-radio:checked + label:before {
    background-color: red;
}


/* =========================
   USER PROFILE IMAGE
========================= */

#Img_User {
    width: 35px;
    height: 35px;
    object-fit: cover;
    transition: all 0.3s ease;
}

#Img_User:hover {
    width: 100px;
    height: 100px;
    border: 2px solid #aaa;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* =========================
   css For The Lock screen
========================= */

    html, body {
        height: 100%;
        margin: 0;
        padding: 0;
    }

    body.locked {
        overflow: hidden;
    }

    .screen-lock-overlay {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.85);
        z-index: 2147483647;
        display: none; /* ✅ only this */
        justify-content: center;
        align-items: center;
        visibility: hidden; /* ✅ prevent flicker */
    }

    .screen-lock-dialog {
        background: #fff;
        border-radius: 10px;
        padding: 30px 20px;
        max-width: 400px;
        width: 90%;
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
        text-align: center;
        z-index: 100000;
    }

    .screen-lock-dialog .fa-lock {
        font-size: 36px;
        margin-bottom: 15px;
        color: #ffffff;
    }





 /* --- ELEGANT CHATBOT THEME (Bootstrap 3 Compatible) --- */
    
    /* 1. LAYOUT */
    .chat-wrapper {
        font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
        box-sizing: border-box;
    }
    
    .chat-sidebar {
        position: fixed;
        top: 0; bottom: 0; right: -420px;
        width: 400px;
        background-color: #f8f9fa;
        z-index: 99999;
        box-shadow: -5px 0 30px rgba(0,0,0,0.15);
        transition: right 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        display: flex;
        flex-direction: column;
        border-left: 1px solid #ddd;
    }
    .chat-sidebar.active { right: 0; }

    /* 2. HEADER - CAMEROON THEME */
    .chat-header {
        background: #ffffff;
        padding: 15px 20px;
        border-bottom: 1px solid #eee;
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 80px;
    }

    .header-branding { display: flex; align-items: center; }

    /* Flag Circle */
    .flag-container {
        width: 48px; height: 48px;
        background: #fff;
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: 28px;
        margin-right: 15px;
        box-shadow: 0 3px 10px rgba(0,0,0,0.1);
        border: 2px solid #f8f9fa;
    }

    .header-text h4 { margin: 0; font-size: 18px; font-weight: 700; color: #333; }
    .header-text span { font-size: 12px; color: #007D5C; display: block; margin-top: 3px; font-weight: 600; }

    .close-chat {
        background: none; border: none; color: #999; font-size: 24px; cursor: pointer; outline: none;
    }
    .close-chat:hover { color: #CE1126; }

    /* 3. CHAT BODY */
    .chat-body {
        flex: 1; overflow-y: auto; padding: 20px;
        background-color: #f8f9fa;
        display: flex; flex-direction: column;
    }

    /* Bubbles */
    .chat-bubble {
        max-width: 85%; padding: 12px 16px; margin-bottom: 15px;
        position: relative; font-size: 14px; line-height: 1.5;
        border-radius: 15px; box-shadow: 0 1px 3px rgba(0,0,0,0.05);
        word-wrap: break-word;
    }
    
    .chat-bot {
        align-self: flex-start; background-color: #ffffff; color: #333;
        border-bottom-left-radius: 2px; border: 1px solid #e1e1e1;
        float: left; clear: both;
    }

    .chat-user {
        align-self: flex-end;
        background: linear-gradient(135deg, #007D5C 0%, #006046 100%);
        color: #fff;
        border-bottom-right-radius: 2px;
        float: right; clear: both;
        box-shadow: 0 3px 8px rgba(0, 125, 92, 0.25);
    }
    
    /* TEMPLATE CHIPS (QUESTIONS) */
    .chip-container { margin-top: 10px; display: block; }
    
    .suggestion-chip {
        display: inline-block;
        background: #e9ecef;
        color: #007D5C;
        padding: 6px 12px;
        border-radius: 20px;
        font-size: 12px;
        margin: 4px 4px 4px 0;
        cursor: pointer;
        border: 1px solid #dee2e6;
        transition: all 0.2s;
        font-weight: 600;
    }
    .suggestion-chip:hover {
        background: #007D5C;
        color: #fff;
        border-color: #007D5C;
        transform: translateY(-1px);
    }

    .chat-bubble::after { content: ""; display: table; clear: both; }

    /* 4. FOOTER (With Delete Button) */
    .chat-footer {
        padding: 15px 20px;
        background: #fff;
        border-top: 1px solid #eee;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    /* Trash Button Style */
    .btn-trash {
        width: 36px; height: 36px;
        border-radius: 50%;
        background: #fff0f0;
        color: #CE1126;
        border: 1px solid #ffc9c9;
        display: flex; align-items: center; justify-content: center;
        cursor: pointer; transition: all 0.2s;
        outline: none;
    }
    .btn-trash:hover { background: #CE1126; color: #fff; border-color: #CE1126; }

    .input-group-custom {
        display: flex; align-items: center;
        background: #f1f3f5; border-radius: 25px;
        padding: 5px 5px 5px 15px;
        border: 1px solid #e9ecef;
        transition: all 0.3s;
        flex: 1; /* Take remaining space */
    }
    .input-group-custom:focus-within { background: #fff; border-color: #007D5C; }

    .chat-input {
        border: none; background: transparent; flex: 1;
        resize: none; outline: none; height: 34px; padding-top: 6px;
        color: #333; box-shadow: none !important;
    }

    .btn-send {
        width: 40px; height: 40px; border-radius: 50%;
        background-color: #007D5C; color: #fff;
        border: none; display: flex; align-items: center; justify-content: center;
        cursor: pointer; transition: transform 0.2s; outline: none; margin-left: 5px;
    }
    .btn-send:hover { transform: scale(1.1); background-color: #006046; }

    /* 5. LAUNCHER */
    #chatLauncher {
        position: fixed; bottom: 30px; right: 30px; z-index: 9999; transition: all 0.3s;
    }
    #chatLauncher.hidden { opacity: 0; transform: scale(0.5); pointer-events: none; }
    
    .btn-launcher {
        width: 60px; height: 60px; border-radius: 50%;
        background-color: #007D5C; color: white; border: none;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2); font-size: 24px;
        cursor: pointer; display: flex; align-items: center; justify-content: center;
    }
    .btn-launcher:hover { background-color: #006046; }

    /* Typing Animation */
    .typing-indicator span {
        display: inline-block; width: 5px; height: 5px; background-color: #bbb;
        border-radius: 50%; margin: 0 2px; animation: typing 1s infinite;
    }
    .typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
    .typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
    @keyframes typing { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }




.autocomplete-hidden {
    position: absolute !important;
    top: -1000px !important;
    left: -1000px !important;
}

text-white {
    color: white !important;
}

.clear-both {
    clear: both;
}

w-100 { width: 100% !important; }


.custom-icons {
    font-size: 30px !important;
}