#aivora-container{
position:fixed;
right:20px;
bottom:90px;
z-index:999999;
opacity:0;
visibility:hidden;
transition:all .35s ease;
font-family:Arial,sans-serif;
}

#aivora-container.active{
opacity:1;
visibility:visible;
}

#aivora-toggle{
width:64px;
height:64px;
border-radius:50%;
background:linear-gradient(135deg,#10b981,#059669);
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
cursor:pointer;
box-shadow:0 12px 35px rgba(0,0,0,.25);
transition:.3s ease;
color:#fff;
}

#aivora-toggle:hover{
transform:scale(1.05);
}

#aivora-chat{
display:none;
flex-direction:column;
position:absolute;
bottom:85px;
right:0;
width:360px;
height:540px;
background:#fff;
border-radius:22px;
overflow:hidden;
box-shadow:0 18px 50px rgba(0,0,0,.22);
border:1px solid #e5e7eb;
backdrop-filter:blur(10px);
}

#aivora-header{
background:linear-gradient(135deg,#065f53,#0f766e);
color:#fff;
padding:18px;
font-weight:700;
text-align:center;
font-size:18px;
letter-spacing:.3px;
}

#aivora-messages{
flex:1;
padding:16px;
overflow-y:auto;
background:#f3f4f6;
display:flex;
flex-direction:column;
gap:12px;
}

.aivora-message{
padding:12px 16px;
border-radius:18px;
max-width:82%;
font-size:14px;
line-height:1.5;
word-wrap:break-word;
animation:aivoraFade .25s ease;
}

.aivora-message.bot{
background:#fff;
color:#111827;
align-self:flex-start;
border-bottom-left-radius:6px;
box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.aivora-message.user{
margin-left:auto;
background:linear-gradient(135deg,#10b981,#059669);
color:#fff;
align-self:flex-end;
border-bottom-right-radius:6px;
box-shadow:0 2px 8px rgba(16,185,129,.25);
}

#aivora-input{
padding:16px;
border:none;
border-top:1px solid #e5e7eb;
outline:none;
font-size:14px;
background:#fff;
color:#111827;
}

#aivora-input::placeholder{
color:#9ca3af;
}

@keyframes aivoraFade{

from{
opacity:0;
transform:translateY(8px);
}

to{
opacity:1;
transform:translateY(0);
}

}

@media(max-width:768px){

#aivora-container{
right:14px;
bottom:85px;
}

#aivora-chat{
width:92vw;
height:78vh;
right:0;
bottom:80px;
border-radius:20px;
}

#aivora-toggle{
width:58px;
height:58px;
font-size:26px;
}

}

/* Product recommendation cards */
.aivora-product-results{
    width:100%;
}

.aivora-product-card{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin-bottom:12px;
    padding:10px;
    border:1px solid #e1e5e9;
    border-radius:12px;
    background:#fff;
    color:#111827;
    box-sizing:border-box;
}

.aivora-product-image-link{
    display:block;
    flex:0 0 88px;
    width:88px;
    height:88px;
    border-radius:9px;
    overflow:hidden;
    background:#f3f4f6;
    text-decoration:none !important;
}

.aivora-product-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.aivora-product-info{
    min-width:0;
    flex:1;
}

.aivora-product-name{
    display:block;
    color:#111827 !important;
    font-weight:700;
    font-size:14px;
    line-height:1.35;
    text-decoration:none !important;
    margin-bottom:4px;
}

.aivora-product-name:hover,
.aivora-product-name:focus{
    text-decoration:underline !important;
}

.aivora-product-price{
    color:#047857;
    font-weight:700;
    font-size:14px;
    line-height:1.35;
    margin-bottom:5px;
}

.aivora-product-price del{
    color:#6b7280;
    font-weight:400;
    margin-right:4px;
}

.aivora-product-description{
    color:#6b7280;
    font-size:12px;
    line-height:1.4;
    margin-bottom:7px;
}

.aivora-product-button{
    display:inline-block;
    padding:6px 10px;
    border-radius:7px;
    background:#065f53 !important;
    color:#fff !important;
    font-size:12px;
    font-weight:700;
    text-decoration:none !important;
}

.aivora-product-button:hover,
.aivora-product-button:focus{
    background:#0f766e !important;
    color:#fff !important;
    text-decoration:none !important;
}

@media(max-width:420px){
    .aivora-product-card{
        gap:9px;
        padding:8px;
    }
    .aivora-product-image-link{
        flex-basis:72px;
        width:72px;
        height:72px;
    }
    .aivora-product-name{
        font-size:13px;
    }
}


.aivora-knowledge-answer {
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 10px;
    line-height: 1.55;
}

.aivora-knowledge-answer small {
    opacity: .85;
}
