/*====================================
GERALFIN ACADEMY — AI ASK WIDGET
====================================*/

.ai-widget{
    position:fixed;
    bottom:28px;
    right:28px;
    z-index:99998;
    font-family:'Poppins',sans-serif;
}

/*========== TOGGLE BUTTON ==========*/

.ai-widget-toggle{
    position:relative;
    width:64px;
    height:64px;
    border-radius:50%;
    border:none;
    background:linear-gradient(135deg,var(--primary),#0B5DB8);
    color:#fff;
    font-size:26px;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(7,44,99,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}

.ai-widget-toggle:hover{
    transform:translateY(-4px);
    background:linear-gradient(135deg,var(--secondary),#b6912b);
    color:var(--primary);
}

.ai-widget-pulse{
    position:absolute;
    inset:0;
    border-radius:50%;
    border:3px solid var(--secondary);
    animation:aiPulse 2.2s ease-out infinite;
}

@keyframes aiPulse{
    0%{ transform:scale(1); opacity:.8; }
    100%{ transform:scale(1.6); opacity:0; }
}

/*========== PANEL ==========*/

.ai-widget-panel{
    position:absolute;
    bottom:80px;
    right:0;
    width:380px;
    max-width:92vw;
    height:560px;
    max-height:75vh;
    background:#fff;
    border-radius:20px;
    box-shadow:0 20px 55px rgba(0,0,0,.25);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    opacity:0;
    transform:translateY(20px) scale(.96);
    pointer-events:none;
    transition:.28s ease;
}

.ai-widget-panel.active{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

/*========== HEADER ==========*/

.ai-widget-header{
    background:linear-gradient(135deg,var(--primary),#0B5DB8);
    color:#fff;
    padding:18px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.ai-widget-header-info{
    display:flex;
    align-items:center;
    gap:12px;
}

.ai-widget-avatar{
    width:40px;
    height:40px;
    border-radius:50%;
    background:var(--secondary);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    flex-shrink:0;
}

.ai-widget-header-info h4{
    margin:0;
    font-size:15px;
}

.ai-widget-status{
    font-size:12px;
    opacity:.85;
}

.ai-widget-status i{
    color:#4ade80;
    font-size:8px;
    margin-right:5px;
}

.ai-widget-header button{
    background:none;
    border:none;
    color:#fff;
    font-size:18px;
    cursor:pointer;
    opacity:.85;
}

.ai-widget-header button:hover{
    opacity:1;
}

/*========== LANGUAGE SELECT ==========*/

.ai-widget-lang{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 18px;
    background:var(--light);
    border-bottom:1px solid #e7ecf3;
    font-size:13px;
    color:var(--grey);
}

.ai-widget-lang select{
    flex:1;
    padding:6px 10px;
    border-radius:8px;
    border:1px solid #ddd;
    background:#fff;
    font-size:13px;
    cursor:pointer;
}

/*========== MESSAGES ==========*/

.ai-widget-messages{
    flex:1;
    overflow-y:auto;
    padding:20px;
    display:flex;
    flex-direction:column;
    gap:14px;
    background:#fbfcfe;
}

.ai-msg{
    max-width:82%;
    padding:12px 16px;
    border-radius:14px;
    font-size:14px;
    line-height:1.6;
}

.ai-msg-bot{
    align-self:flex-start;
    background:#eef3fb;
    color:var(--dark);
    border-bottom-left-radius:4px;
}

.ai-msg-user{
    align-self:flex-end;
    background:var(--primary);
    color:#fff;
    border-bottom-right-radius:4px;
}

.ai-msg-error{
    align-self:flex-start;
    background:#fdecea;
    color:#b91c1c;
    border-bottom-left-radius:4px;
}

/*========== TYPING INDICATOR ==========*/

.ai-widget-typing{
    display:flex;
    gap:5px;
    padding:0 20px 10px;
}

.ai-widget-typing span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--grey);
    animation:aiTyping 1s infinite ease-in-out;
}

.ai-widget-typing span:nth-child(2){ animation-delay:.15s; }
.ai-widget-typing span:nth-child(3){ animation-delay:.3s; }

@keyframes aiTyping{
    0%,60%,100%{ transform:translateY(0); opacity:.4; }
    30%{ transform:translateY(-5px); opacity:1; }
}

/*========== INPUT ==========*/

.ai-widget-input{
    display:flex;
    gap:10px;
    padding:14px 16px;
    border-top:1px solid #eee;
    background:#fff;
}

.ai-widget-input input{
    flex:1;
    padding:12px 16px;
    border:1px solid #ddd;
    border-radius:30px;
    font-size:14px;
    outline:none;
}

.ai-widget-input input:focus{
    border-color:var(--secondary);
}

.ai-widget-input button{
    width:44px;
    height:44px;
    border-radius:50%;
    border:none;
    background:var(--secondary);
    color:var(--primary);
    cursor:pointer;
    transition:.3s;
}

.ai-widget-input button:hover{
    background:var(--primary);
    color:#fff;
}

/*========== MOBILE ==========*/

@media(max-width:480px){

    .ai-widget{
        bottom:16px;
        right:16px;
    }

    .ai-widget-panel{
        width:94vw;
        height:80vh;
        max-height:none;
        bottom:76px;
        right:-6px;
    }

    .ai-widget-toggle{
        width:56px;
        height:56px;
        font-size:22px;
    }
}