/* SHOP OFE TRUJILLO - CHATBOT */

:root{
    --bot-rosa:#ff2f92;
    --bot-rosa2:#ff72b8;
    --bot-morado:#8e44ad;
    --bot-dark:#15111a;
    --bot-dark2:#211827;
}

#shopOfeChatbot{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:99999;
    font-family:"DM Sans",Arial,sans-serif;
}

.so-chat-button{
    width:62px;
    height:62px;
    border:none;
    border-radius:50%;
    background:linear-gradient(135deg,var(--bot-rosa),var(--bot-morado));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 15px 40px rgba(255,47,146,.35);
    transition:.3s ease;
    position:relative;
}

.so-chat-button:hover{
    transform:translateY(-4px) scale(1.04);
}

.so-chat-button i{
    font-size:25px;
}

.so-chat-notification{
    position:absolute;
    top:-3px;
    right:-2px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#25d366;
    border:3px solid var(--bot-dark);
}

.so-chat-window{
    position:absolute;
    right:0;
    bottom:76px;
    width:370px;
    max-width:calc(100vw - 30px);
    height:570px;
    max-height:calc(100vh - 110px);
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 25px 90px rgba(21,17,26,.25);
    border:1px solid rgba(21,17,26,.08);
    display:none;
    flex-direction:column;
    animation:soChatOpen .25s ease;
}

.so-chat-window.active{
    display:flex;
}

@keyframes soChatOpen{
    from{
        opacity:0;
        transform:translateY(15px) scale(.96);
    }

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

.so-chat-header{
    background:
        radial-gradient(circle at 100% 0,rgba(255,114,184,.3),transparent 40%),
        linear-gradient(135deg,var(--bot-dark),var(--bot-dark2));
    color:#fff;
    padding:17px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.so-chat-brand{
    display:flex;
    align-items:center;
    gap:11px;
}

.so-chat-avatar{
    width:43px;
    height:43px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--bot-rosa),var(--bot-morado));
    color:#fff;
    font-size:19px;
}

.so-chat-title{
    font-size:14px;
    font-weight:800;
}

.so-chat-status{
    display:flex;
    align-items:center;
    gap:5px;
    color:rgba(255,255,255,.68);
    font-size:10px;
    margin-top:3px;
}

.so-chat-status span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#25d366;
}

.so-chat-close{
    width:35px;
    height:35px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    color:#fff;
    cursor:pointer;
    transition:.25s;
}

.so-chat-close:hover{
    background:var(--bot-rosa);
    transform:rotate(90deg);
}

.so-chat-messages{
    flex:1;
    overflow-y:auto;
    padding:18px;
    background:
        radial-gradient(circle at top right,rgba(255,47,146,.05),transparent 35%),
        #faf7fb;
}

.so-message{
    display:flex;
    margin-bottom:12px;
}

.so-message.bot{
    justify-content:flex-start;
}

.so-message.user{
    justify-content:flex-end;
}

.so-bubble{
    max-width:82%;
    padding:11px 13px;
    border-radius:17px;
    font-size:13px;
    line-height:1.55;
    white-space:pre-line;
}

.so-message.bot .so-bubble{
    background:#fff;
    color:var(--bot-dark);
    border:1px solid rgba(21,17,26,.07);
    border-bottom-left-radius:5px;
}

.so-message.user .so-bubble{
    background:linear-gradient(135deg,var(--bot-rosa),var(--bot-morado));
    color:#fff;
    border-bottom-right-radius:5px;
}

.so-quick-options{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:12px;
}

.so-quick-option{
    border:1px solid rgba(255,47,146,.2);
    background:#fff;
    color:var(--bot-rosa);
    padding:8px 11px;
    border-radius:50px;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}

.so-quick-option:hover{
    color:#fff;
    background:var(--bot-rosa);
}

.so-typing{
    display:none;
    align-items:center;
    gap:4px;
    width:max-content;
    padding:10px 13px;
    background:#fff;
    border:1px solid rgba(21,17,26,.07);
    border-radius:16px;
    border-bottom-left-radius:5px;
}

.so-typing.active{
    display:flex;
}

.so-typing span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--bot-rosa);
    animation:soTyping 1s infinite;
}

.so-typing span:nth-child(2){
    animation-delay:.15s;
}

.so-typing span:nth-child(3){
    animation-delay:.3s;
}

@keyframes soTyping{
    0%,60%,100%{
        transform:translateY(0);
        opacity:.4;
    }

    30%{
        transform:translateY(-4px);
        opacity:1;
    }
}

.so-chat-input-area{
    padding:12px;
    background:#fff;
    border-top:1px solid rgba(21,17,26,.07);
}

.so-chat-input-row{
    display:flex;
    gap:8px;
}

.so-chat-input{
    width:100%;
    height:44px;
    border:1px solid rgba(21,17,26,.12);
    border-radius:14px;
    padding:0 13px;
    outline:none;
    font-family:inherit;
    font-size:13px;
    background:#fafafa;
}

.so-chat-input:focus{
    border-color:var(--bot-rosa);
    background:#fff;
}

.so-chat-send{
    width:44px;
    height:44px;
    flex-shrink:0;
    border:none;
    border-radius:14px;
    background:linear-gradient(135deg,var(--bot-rosa),var(--bot-morado));
    color:#fff;
    cursor:pointer;
}

.so-chat-whatsapp{
    width:100%;
    margin-top:8px;
    height:40px;
    border:none;
    border-radius:12px;
    background:#25d366;
    color:#fff;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

@media(max-width:600px){

    #shopOfeChatbot{
        right:14px;
        bottom:14px;
    }

    .so-chat-button{
        width:58px;
        height:58px;
    }

    .so-chat-window{
        right:-5px;
        bottom:70px;
        width:calc(100vw - 20px);
        max-width:calc(100vw - 20px);
        height:calc(100vh - 95px);
        max-height:none;
        border-radius:20px;
    }
}
/* =========================================================
   AGREGA ESTO AL FINAL DE chatbot.css
   PARA SOPORTAR PRODUCTOS Y BOTONES DEL BOT
========================================================= */

#shopOfeChatbot .so-chat-window{
    font-family:"DM Sans",Arial,sans-serif;
}

#shopOfeChatbot .so-chat-messages{
    scrollbar-width:thin;
}

#shopOfeChatbot .so-chat-messages a{
    transition:.2s ease;
}

#shopOfeChatbot .so-chat-messages a:hover{
    opacity:.75;
}

#shopOfeChatbot .so-chat-messages button{
    font-family:inherit;
}

#shopOfeChatbot .so-chat-welcome-options{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:14px;
}

#shopOfeChatbot .so-quick-option{
    font-family:inherit;
    border:1px solid rgba(255,47,146,.2);
    background:#fff;
    color:#ff2f92;
    padding:8px 11px;
    border-radius:50px;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease;
}

#shopOfeChatbot .so-quick-option:hover{
    background:#ff2f92;
    color:#fff;
    transform:translateY(-1px);
}

#shopOfeChatbot .so-bubble img{
    max-width:100%;
}

#shopOfeChatbot .so-bubble{
    overflow-wrap:anywhere;
}

#shopOfeChatbot .so-message.bot .so-bubble{
    box-shadow:0 7px 22px rgba(21,17,26,.05);
}

#shopOfeChatbot .so-chat-input::placeholder{
    color:#99939d;
}

@media(max-width:600px){

    #shopOfeChatbot .so-chat-window{
        width:calc(100vw - 20px);
        height:calc(100vh - 95px);
    }

    #shopOfeChatbot .so-bubble{
        max-width:88%;
    }

}

/* AGREGA ESTO AL FINAL DE chatbot.css */
/* Reduce los espacios excesivos de las respuestas */

#shopOfeChatbot .so-bubble{
    line-height:1.42 !important;
    padding:10px 13px !important;
}

#shopOfeChatbot .so-bubble br + br{
    display:none !important;
}

#shopOfeChatbot .so-bubble strong{
    line-height:1.35;
}

#shopOfeChatbot .so-message{
    margin-bottom:8px !important;
}

#shopOfeChatbot .so-quick-options{
    margin-top:8px !important;
    gap:6px !important;
}

#shopOfeChatbot .so-quick-option{
    margin:0 !important;
}