/* SoloItaliano Chat Widget v2.2 */

/* TOGGLE BUTTON – larger (76px) */
#si-chat-toggle{position:fixed;bottom:24px;right:24px;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#2D6A4F,#40916C);border:none;cursor:pointer;box-shadow:0 6px 24px rgba(45,106,79,0.3),0 2px 8px rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:999999;padding:0;animation:siAppear .6s cubic-bezier(.34,1.56,.64,1) 1s both}
@keyframes siAppear{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
#si-chat-toggle:hover{transform:scale(1.1)}
#si-chat-toggle svg{width:32px;height:32px;fill:#fff}
#si-chat-toggle .si-icon-close{display:none}
#si-chat-toggle.si-open .si-icon-chat{display:none}
#si-chat-toggle.si-open .si-icon-close{display:block}
#si-chat-toggle::after{content:'1';position:absolute;top:2px;right:2px;width:22px;height:22px;background:#C1272D;border-radius:50%;border:2.5px solid #fff;font-size:.7rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;animation:siPulse 2s infinite}
#si-chat-toggle.si-open::after{display:none}
@keyframes siPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}

/* TOOLTIP */
.si-tooltip{position:fixed;bottom:110px;right:24px;background:#fff;color:#4A4A4A;padding:12px 18px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.12);font-size:.88rem;font-weight:500;z-index:999998;animation:siFadeIn .4s ease 2s both;max-width:240px;line-height:1.4;font-family:'DM Sans',sans-serif}
.si-tooltip::after{content:'';position:absolute;bottom:-8px;right:32px;width:16px;height:16px;background:#fff;transform:rotate(45deg);box-shadow:4px 4px 8px rgba(0,0,0,.04)}
.si-tooltip.si-hidden{display:none}

/* CHAT WINDOW */
#si-chat-window{position:fixed;bottom:112px;right:24px;width:420px;max-width:calc(100vw - 48px);height:580px;max-height:calc(100vh - 140px);background:#fff;border-radius:20px;box-shadow:0 12px 48px rgba(0,0,0,.18),0 4px 16px rgba(0,0,0,.08);display:flex;flex-direction:column;overflow:hidden;z-index:999998;opacity:0;transform:translateY(20px) scale(.95);pointer-events:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);font-family:'DM Sans',sans-serif}
#si-chat-window.si-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:all}
#si-chat-window *{box-sizing:border-box}

/* HEADER */
.si-header{background:linear-gradient(135deg,#2D6A4F,#40916C);padding:20px;color:#fff;position:relative;overflow:hidden;flex-shrink:0}
.si-header::before{content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;background:rgba(255,255,255,.08);border-radius:50%}
.si-header-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.si-avatar{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.si-header-info{flex:1}
.si-header-info h3{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;margin:0}
.si-header-info .si-status{font-size:.78rem;opacity:.85;display:flex;align-items:center;gap:5px;margin-top:2px}
.si-status-dot{width:7px;height:7px;background:#6BCB77;border-radius:50%;display:inline-block}

/* CLOSE BUTTON in header */
.si-close-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;font-family:'DM Sans',sans-serif;line-height:1}
.si-close-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}

/* MESSAGES */
.si-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#F5F0EB;scroll-behavior:smooth}
.si-messages::-webkit-scrollbar{width:4px}
.si-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}
.si-msg{max-width:88%;padding:12px 16px;border-radius:16px;font-size:.88rem;line-height:1.55;animation:siFadeIn .3s ease;margin:0}
@keyframes siFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.si-msg.si-bot{background:#fff;color:#4A4A4A;align-self:flex-start;border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.si-msg.si-user{background:linear-gradient(135deg,#2D6A4F,#40916C);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.si-msg a{color:#2D6A4F;font-weight:600;text-decoration:none;border-bottom:1px dashed #40916C}
.si-msg.si-user a{color:#fff;border-bottom-color:rgba(255,255,255,.5)}

/* VIDEO CARDS */
.si-video-card{display:flex;gap:10px;padding:10px;background:#f9f7f4;border-radius:12px;margin-top:8px;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.05)}
.si-video-card:hover{background:#f0ece6;transform:translateX(3px);border-color:#40916C}
.si-video-thumb{width:80px;height:56px;border-radius:8px;background:#2D6A4F;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.4rem;color:#fff;position:relative;overflow:hidden}
.si-video-thumb::after{content:'▶';font-size:.9rem;position:absolute}
.si-video-info{display:flex;flex-direction:column;justify-content:center;min-width:0}
.si-video-info strong{font-size:.82rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.si-video-info span{font-size:.72rem;color:#999;margin-top:3px}

/* QUIZ */
.si-quiz{background:#fff;border-radius:14px;padding:16px;margin-top:6px;box-shadow:0 1px 4px rgba(0,0,0,.05);animation:siFadeIn .3s ease;align-self:flex-start;max-width:92%}
.si-quiz-q{font-size:.9rem;font-weight:600;margin-bottom:12px;color:#4A4A4A;line-height:1.4}
.si-quiz-opts{display:flex;flex-direction:column;gap:8px}
.si-quiz-opt{padding:10px 14px;border-radius:10px;border:1.5px solid #e0e0e0;background:#fff;font-size:.84rem;cursor:pointer;transition:all .2s;text-align:left;font-family:'DM Sans',sans-serif;color:#4A4A4A}
.si-quiz-opt:hover{border-color:#2D6A4F;background:rgba(45,106,79,.04)}
.si-quiz-opt.correct{border-color:#2D6A4F;background:rgba(45,106,79,.1);color:#2D6A4F;font-weight:600}
.si-quiz-opt.wrong{border-color:#C1272D;background:rgba(193,39,45,.06);color:#C1272D}
.si-quiz-opt:disabled{cursor:default;opacity:.7}

/* QUICK REPLIES */
.si-quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0;animation:siFadeIn .4s ease}
.si-qr-btn{padding:8px 16px;border-radius:20px;border:1.5px solid #2D6A4F;background:#fff;color:#2D6A4F;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.si-qr-btn:hover{background:#2D6A4F;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px rgba(45,106,79,.25)}

/* TYPING */
.si-typing{display:flex;gap:5px;padding:14px 18px;align-self:flex-start;background:#fff;border-radius:16px;border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.si-typing span{width:8px;height:8px;background:#bbb;border-radius:50%;animation:siBounce 1.2s infinite}
.si-typing span:nth-child(2){animation-delay:.15s}
.si-typing span:nth-child(3){animation-delay:.3s}
@keyframes siBounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-7px);opacity:1}}

/* INPUT */
.si-input-area{padding:14px 16px;display:flex;gap:10px;align-items:center;background:#fff;border-top:1px solid #eee;flex-shrink:0}
.si-input-area input{flex:1;border:1.5px solid #e0e0e0;border-radius:24px;padding:11px 18px;font-size:.9rem;font-family:'DM Sans',sans-serif;outline:0;transition:border-color .2s;color:#4A4A4A;background:#FAFAFA}
.si-input-area input::placeholder{color:#aaa}
.si-input-area input:focus{border-color:#40916C;background:#fff}
.si-send-btn{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#2D6A4F,#40916C);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;padding:0}
.si-send-btn:hover{transform:scale(1.08)}
.si-send-btn svg{width:18px;height:18px;fill:#fff;margin-left:2px}
.si-powered{text-align:center;padding:7px;font-size:.7rem;color:#bbb;background:#fff;flex-shrink:0}

/* DICTIONARY */
.si-dict-grid{display:flex;flex-direction:column;gap:4px;animation:siFadeIn .4s ease;align-self:flex-start;max-width:92%}
.si-dict-entry{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.05);font-size:.84rem;transition:all .2s;cursor:default}
.si-dict-entry:hover{border-color:#40916C;background:#f9f7f4}
.si-dict-emoji{font-size:1.1rem;flex-shrink:0;width:26px;text-align:center}
.si-dict-words{display:flex;flex-direction:column;gap:1px;min-width:0}
.si-dict-it{font-weight:600;color:#2D6A4F;font-size:.86rem}
.si-dict-de{color:#666;font-size:.8rem}
.si-dict-cat-btn{padding:8px 14px;border-radius:12px;border:1.5px solid #2D6A4F;background:#fff;color:#2D6A4F;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:6px}
.si-dict-cat-btn:hover{background:#2D6A4F;color:#fff;transform:translateY(-1px)}
.si-dict-cats{display:flex;flex-wrap:wrap;gap:8px;animation:siFadeIn .4s ease;align-self:flex-start;max-width:92%}

/* MOBILE */
@media(max-width:480px){#si-chat-window{bottom:0;right:0;width:100vw;height:100vh;max-height:100vh;border-radius:0}}
