/* ===========================================================
   LF AI Chat — Floating Assistant Bubble
   =========================================================== */
.lf-aichat{
    position:fixed; right:20px; bottom:20px; z-index:9999;
    font-family:'DM Sans',system-ui,-apple-system,sans-serif;
}

/* --- Pulsating launcher pill --- */
.lf-aichat-btn{
    display:inline-flex; align-items:center; gap:9px;
    padding:13px 18px; border:none; border-radius:50px; cursor:pointer;
    font-family:'Syne',sans-serif; font-weight:700; font-size:14px; color:#060e16;
    background:linear-gradient(135deg,#00ffd5,#7c5cff);
    box-shadow:0 8px 24px rgba(0,0,0,.35);
    animation:lf-aichat-pulse 2.2s infinite;
    transition:transform .2s ease;
}
.lf-aichat-btn:hover{ transform:translateY(-2px); }
.lf-aichat-btn:active{ transform:scale(.97); }
.lf-aichat-btn i{ font-size:16px; }

@keyframes lf-aichat-pulse{
    0%{   box-shadow:0 8px 24px rgba(0,0,0,.35), 0 0 0 0   rgba(0,255,213,.55); }
    70%{  box-shadow:0 8px 24px rgba(0,0,0,.35), 0 0 0 14px rgba(0,255,213,0); }
    100%{ box-shadow:0 8px 24px rgba(0,0,0,.35), 0 0 0 0   rgba(0,255,213,0); }
}
.lf-aichat.is-open .lf-aichat-btn{ animation:none; }

/* --- Popup card --- */
.lf-aichat-pop{
    position:absolute; right:0; bottom:64px;
    width:300px; max-width:calc(100vw - 40px);
    background:#0a1420; border:1px solid rgba(0,255,213,.18);
    border-radius:16px; padding:18px; color:#e6edf3;
    box-shadow:0 18px 50px rgba(0,0,0,.55);
    opacity:0; transform:translateY(10px) scale(.96); transform-origin:bottom right;
    pointer-events:none; transition:opacity .22s ease, transform .22s ease;
}
.lf-aichat.is-open .lf-aichat-pop{
    opacity:1; transform:translateY(0) scale(1); pointer-events:auto;
}

.lf-aichat-head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.lf-aichat-ava{
    width:38px; height:38px; border-radius:50%; flex:0 0 auto;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#00ffd5,#7c5cff); color:#060e16; font-size:18px;
}
.lf-aichat-title{ font-family:'Syne',sans-serif; font-weight:700; font-size:15px; color:#fff; line-height:1.2; }
.lf-aichat-sub{ font-size:11px; color:#00ffd5; display:flex; align-items:center; gap:5px; margin-top:2px; }
.lf-aichat-dot{
    width:7px; height:7px; border-radius:50%; background:#00ffd5;
    animation:lf-aichat-dot 1.8s infinite;
}
@keyframes lf-aichat-dot{
    0%{ box-shadow:0 0 0 0 rgba(0,255,213,.6); }
    70%{ box-shadow:0 0 0 6px rgba(0,255,213,0); }
    100%{ box-shadow:0 0 0 0 rgba(0,255,213,0); }
}
.lf-aichat-close{
    margin-left:auto; background:transparent; border:none; color:#7c8a99;
    font-size:16px; line-height:1; cursor:pointer; padding:4px; border-radius:6px;
}
.lf-aichat-close:hover{ color:#fff; background:rgba(255,255,255,.06); }

.lf-aichat-desc{ font-size:13px; line-height:1.55; color:#aebac6; margin:0 0 14px; }

.lf-aichat-cta{
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:100%; padding:11px 14px; border-radius:10px; text-decoration:none;
    font-family:'Syne',sans-serif; font-weight:700; font-size:13px; color:#060e16;
    background:linear-gradient(135deg,#00ffd5,#7c5cff);
    transition:filter .2s ease, transform .2s ease;
}
.lf-aichat-cta:hover{ filter:brightness(1.08); transform:translateY(-1px); }

@media (max-width:480px){
    .lf-aichat{ right:16px; bottom:16px; }
    .lf-aichat-pop{ width:calc(100vw - 32px); }
}
@media (prefers-reduced-motion:reduce){
    .lf-aichat-btn, .lf-aichat-dot{ animation:none; }
}