/* Lessona Assistente AI */
.lai-wrap{--lai-gold:#b1976b;--lai-gold-d:#8c7350;--lai-ink:#22272b;--lai-mute:#6b6f73;--lai-bg:#fff;--lai-soft:#f6f3ee;--lai-line:#e6e0d6;position:fixed;right:24px;bottom:96px;z-index:99990;font-size:15px;line-height:1.5;color:var(--lai-ink);font-family:inherit}
.lai-wrap *{box-sizing:border-box}
.lai-bubble{width:60px;height:60px;border-radius:50%;border:0;background:var(--lai-gold);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.22);transition:transform .15s,background .15s;margin-left:auto;padding:0}
.lai-bubble:hover{background:var(--lai-gold-d);transform:translateY(-2px)}
.lai-bubble:focus-visible,.lai-wrap button:focus-visible,.lai-wrap input:focus-visible,.lai-wrap textarea:focus-visible,.lai-wrap select:focus-visible{outline:2px solid var(--lai-gold-d);outline-offset:2px}
.lai-panel{position:absolute;right:0;bottom:74px;width:390px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 215px);background:var(--lai-bg);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--lai-line)}
.lai-panel[hidden],.lai-panel [hidden]{display:none!important}
.lai-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:var(--lai-ink);color:#fff}
.lai-logo{width:36px;height:36px;border-radius:50%;background:var(--lai-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,'Times New Roman',serif;font-size:20px;flex:0 0 auto}
.lai-titles{flex:1;min-width:0}
.lai-title{font-weight:600;font-size:15px;line-height:1.2}
.lai-sub{font-size:12px;color:#d8cdb9;line-height:1.3}
.lai-icon{background:transparent;border:0;color:#fff;opacity:.85;cursor:pointer;padding:6px;border-radius:6px;display:flex}
.lai-icon:hover{opacity:1;background:rgba(255,255,255,.12)}
.lai-log{flex:1;overflow-y:auto;padding:14px;background:var(--lai-soft);display:flex;flex-direction:column;gap:10px}
.lai-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:14.5px;word-wrap:break-word;overflow-wrap:anywhere}
.lai-msg p{margin:0 0 6px}.lai-msg p:last-child{margin:0}
.lai-msg ul{margin:4px 0 6px 18px;padding:0}.lai-msg li{margin:0 0 3px}
.lai-assistant{background:#fff;border:1px solid var(--lai-line);align-self:flex-start;border-top-left-radius:4px}
.lai-user{background:var(--lai-ink);color:#fff;align-self:flex-end;border-top-right-radius:4px;white-space:pre-wrap}
.lai-msg a{color:var(--lai-gold-d);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.lai-wait{color:var(--lai-mute);font-style:italic}
.lai-error{border-color:#e3c2b8;background:#fbf3f0}
.lai-chips{display:flex;flex-wrap:wrap;gap:6px}
.lai-chip{background:#fff;border:1px solid var(--lai-gold);color:var(--lai-gold-d);border-radius:16px;padding:6px 11px;font-size:13px;cursor:pointer;text-align:left;line-height:1.3}
.lai-chip:hover{background:var(--lai-gold);color:#fff}
.lai-foot{padding:10px 12px 8px;border-top:1px solid var(--lai-line);background:#fff}
.lai-row{display:flex;gap:8px;align-items:flex-end}
.lai-input{flex:1;resize:none;border:1px solid var(--lai-line);border-radius:10px;padding:9px 11px;font:inherit;font-size:14.5px;max-height:120px;color:var(--lai-ink);background:#fff;margin:0}
.lai-send{width:40px;height:40px;border-radius:50%;border:0;background:var(--lai-gold);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0}
.lai-send:disabled{opacity:.5;cursor:default}
.lai-callback{display:block;width:100%;margin:8px 0 4px;background:transparent;border:1px solid var(--lai-ink);color:var(--lai-ink);border-radius:8px;padding:7px;font-size:13.5px;cursor:pointer}
.lai-callback:hover{background:var(--lai-ink);color:#fff}
.lai-note{margin:4px 0 0;font-size:11.5px;color:var(--lai-mute);line-height:1.35}
.lai-note a{color:var(--lai-mute);text-decoration:underline}
.lai-form{flex:1;overflow-y:auto;padding:14px 16px;background:#fff}
.lai-form h3{margin:0 0 10px;font-size:17px;color:var(--lai-ink)}
.lai-field{display:block;margin:0 0 9px;font-size:13px;color:var(--lai-mute)}
.lai-field span{display:block;margin-bottom:3px}
.lai-field input,.lai-field select,.lai-field textarea{width:100%;border:1px solid var(--lai-line);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;color:var(--lai-ink);background:#fff;margin:0;height:auto}
.lai-check{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--lai-ink);margin:0 0 8px;line-height:1.4}
.lai-check input{margin-top:3px;flex:0 0 auto}
.lai-check a{color:var(--lai-gold-d);text-decoration:underline}
.lai-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.lai-status{font-size:13px;color:#a2452c;min-height:1em;margin:4px 0 8px}
.lai-actions{display:flex;gap:12px;align-items:center}
.lai-primary{background:var(--lai-gold);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer}
.lai-primary:hover{background:var(--lai-gold-d)}.lai-primary:disabled{opacity:.6}
.lai-link{background:transparent;border:0;color:var(--lai-mute);text-decoration:underline;cursor:pointer;font-size:13px}
@media (max-width:640px){
.lai-wrap{right:16px;bottom:84px}
.lai-open .lai-panel{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;border-radius:0;border:0}
.lai-open .lai-bubble{display:none}
.lai-input{font-size:16px}
}
.lai-intro{font-size:13px;color:var(--lai-mute);margin:-4px 0 12px;line-height:1.45}
.lai-two{display:flex;gap:10px}.lai-two .lai-field{flex:1;min-width:0}
.lai-hint{font-size:12px;color:var(--lai-gold-d);margin:-4px 0 8px}
/* etichetta sempre visibile accanto al pulsante */
.lai-wrap{display:flex;align-items:center;gap:12px;flex-direction:row}
.lai-pill{display:flex;align-items:center;gap:10px;background:var(--lai-ink);color:#fff;border:1px solid var(--lai-gold);border-radius:30px;padding:9px 18px 9px 14px;box-shadow:0 6px 20px rgba(0,0,0,.22);cursor:pointer;text-align:left;font:inherit;line-height:1.25;transition:transform .15s,background .15s}
.lai-pill:hover{background:#000;transform:translateY(-2px)}
.lai-pill strong{display:block;font-size:14.5px;font-weight:600;color:#fff;letter-spacing:.2px}
.lai-pill-sub{display:block;font-size:12.5px;color:#d8cdb9}
.lai-pill-short{display:none}
.lai-dot{width:10px;height:10px;border-radius:50%;background:#4cc36d;box-shadow:0 0 0 3px rgba(76,195,109,.25);flex:0 0 auto}
.lai-open .lai-pill{display:none}
.lai-attn .lai-pill,.lai-attn .lai-bubble{animation:lai-pulse 1.6s ease-in-out 3}
@keyframes lai-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.lai-bubble.lai-has-av{position:relative;width:64px;height:64px;background:#fff;border:3px solid var(--lai-gold);padding:0;overflow:visible}
.lai-bubble .lai-av{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.lai-badge{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;border-radius:50%;background:var(--lai-gold);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.lai-badge svg{width:14px;height:14px}
.lai-logo-av{background:#fff;overflow:hidden;padding:0}
.lai-logo-av .lai-av{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
@media (max-width:640px){
.lai-pill{padding:8px 14px 8px 11px}
.lai-pill strong,.lai-pill-sub{display:none}
.lai-pill-short{display:block;font-size:13.5px;font-weight:600}
}
.lai-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.lai-msg a.lai-person{display:flex;flex-direction:column;border:1px solid var(--lai-gold);border-radius:8px;background:#fff;text-decoration:none;font-weight:400;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.08);transition:transform .15s}
.lai-msg a.lai-person:hover{transform:translateY(-2px)}
.lai-person img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block;background:var(--lai-soft)}
.lai-person span{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 6px 7px;line-height:1.25;background:var(--lai-ink)}
.lai-person strong{color:#fff;font-size:12.5px;font-weight:600}
.lai-person em{font-style:normal;color:#d8cdb9;font-size:11.5px;text-decoration:underline;margin-top:2px}
.lai-person span{flex:1;justify-content:center}
.lai-wrap .lai-input{-webkit-appearance:none;appearance:none;overflow:hidden;min-height:42px;line-height:1.4;box-shadow:none}
