/* ==========================================================================
   Lumina Assistant - Chat Widget
   Positioned bottom-right, clear of the existing .contact-widget /
   .mobile-whatsapp-float (right:0;top:50%) and .mobile-contact (full-width
   bottom bar on mobile, ~15px padding + ~24px line height tall).
   ========================================================================== */
.lumina-chat-widget{position:fixed;right:22px;bottom:22px;z-index:1040;font-family:inherit}

.lumina-chat-bubble{position:relative;width:60px;height:60px;border-radius:50%;background:var(--bs-primary);border:none;box-shadow:0 8px 24px rgba(196,22,28,.35);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .25s ease,box-shadow .25s ease}
.lumina-chat-bubble:hover{transform:scale(1.06);box-shadow:0 10px 28px rgba(196,22,28,.45)}
.lumina-chat-bubble-icon{position:absolute;color:#fff;font-size:1.5rem;transition:opacity .2s ease,transform .2s ease}
.lumina-chat-bubble-icon-close{opacity:0;transform:scale(.5) rotate(-45deg)}
.lumina-chat-widget.open .lumina-chat-bubble-icon-open{opacity:0;transform:scale(.5) rotate(45deg)}
.lumina-chat-widget.open .lumina-chat-bubble-icon-close{opacity:1;transform:scale(1) rotate(0)}
.lumina-chat-bubble-badge{position:absolute;top:-2px;right:-2px;background:#171710;color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;padding:0 4px}
.lumina-chat-widget.open .lumina-chat-bubble-badge{display:none}

.lumina-chat-window{position:absolute;right:0;bottom:76px;width:380px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 140px);background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(16px) scale(.97);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.lumina-chat-widget.open .lumina-chat-window{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}

.lumina-chat-header{background:#171710;color:#fff;display:flex;align-items:center;gap:12px;padding:16px 16px}
.lumina-chat-header-avatar{width:38px;height:38px;border-radius:50%;background:var(--bs-primary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.lumina-chat-header-info{flex-grow:1;min-width:0}
.lumina-chat-header-name{font-weight:600;font-size:.95rem}
.lumina-chat-header-status{font-size:.75rem;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:6px}
.lumina-chat-status-dot{width:7px;height:7px;border-radius:50%;background:#3ddc84;display:inline-block;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:luminaChatPulse 2s infinite}
@keyframes luminaChatPulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55)}70%{box-shadow:0 0 0 6px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.lumina-chat-header-icon-btn{background:0 0;border:none;color:rgba(255,255,255,.75);font-size:1rem;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease;flex-shrink:0}
.lumina-chat-header-icon-btn:hover{background:rgba(255,255,255,.12);color:#fff}

.lumina-chat-messages{flex-grow:1;overflow-y:auto;padding:18px 14px;background:#f7f7f8;display:flex;flex-direction:column;gap:10px}
.lumina-chat-msg{display:flex;max-width:88%}
.lumina-chat-msg-bot{align-self:flex-start}
.lumina-chat-msg-user{align-self:flex-end}
.lumina-chat-msg-bubble{padding:11px 14px;border-radius:14px;font-size:.875rem;line-height:1.5;word-wrap:break-word}
.lumina-chat-msg-bot .lumina-chat-msg-bubble{background:#fff;color:#22252b;border-bottom-left-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.lumina-chat-msg-user .lumina-chat-msg-bubble{background:var(--bs-primary);color:#fff;border-bottom-right-radius:4px}
.lumina-chat-msg-bubble a.lumina-chat-link{color:var(--bs-primary);font-weight:600;text-decoration:underline;display:inline-block;margin-top:6px}
.lumina-chat-msg-user .lumina-chat-msg-bubble a{color:#fff}

.lumina-chat-typing .lumina-chat-msg-bubble,.lumina-chat-typing{background:transparent;box-shadow:none}
.lumina-chat-typing{padding:0}
.lumina-chat-typing.lumina-chat-msg-bubble,.lumina-chat-typing-row .lumina-chat-msg-bubble{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);border-bottom-left-radius:4px;display:flex;align-items:center;gap:4px;padding:14px 16px}
.lumina-chat-typing span{width:6px;height:6px;border-radius:50%;background:#b7b9c0;display:inline-block;animation:luminaChatTypingDot 1.2s infinite ease-in-out}
.lumina-chat-typing span:nth-child(2){animation-delay:.2s}
.lumina-chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes luminaChatTypingDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

.lumina-chat-quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding:2px 2px 4px}
.lumina-chat-chip{background:#fff;border:1.5px solid var(--bs-primary);color:var(--bs-primary);font-size:.8rem;font-weight:500;padding:7px 14px;border-radius:20px;cursor:pointer;transition:all .2s ease;white-space:nowrap}
.lumina-chat-chip:hover{background:var(--bs-primary);color:#fff}

.lumina-chat-input-row{display:flex;align-items:center;gap:8px;padding:12px;background:#fff;border-top:1px solid #eee}
.lumina-chat-input{flex-grow:1;border:1px solid #e2e3e7;background:#f7f7f8;border-radius:22px;padding:10px 16px;font-size:.875rem;outline:none;transition:border-color .2s ease}
.lumina-chat-input:focus{border-color:var(--bs-primary)}
.lumina-chat-send{width:38px;height:38px;border-radius:50%;background:var(--bs-primary);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s ease}
.lumina-chat-send:hover{background:#a0121f}

@media (max-width:768px){
    .lumina-chat-widget{right:16px;bottom:86px}
    .lumina-chat-window{position:fixed;right:12px;left:12px;bottom:96px;width:auto;max-width:none;height:auto;max-height:calc(100vh - 160px)}
}
@media (max-width:420px){
    .lumina-chat-window{right:8px;left:8px;bottom:90px;max-height:calc(100vh - 150px)}
}


/* Teaser bubble - shown once per browser session (only for visitors who've
   never opened the chat before) to make it obvious what the icon does. */
.lumina-chat-teaser{position:absolute;right:72px;top:50%;transform:translateY(-50%) translateX(8px);background:#000;color:#fff;padding:10px 34px 10px 16px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.35);font-size:.85rem;font-weight:500;white-space:nowrap;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease;z-index:1}
.lumina-chat-teaser.show{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto}
.lumina-chat-teaser::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid #000}
.lumina-chat-teaser-close{position:absolute;top:50%;right:6px;transform:translateY(-50%);background:0 0;border:none;color:rgba(255,255,255,.55);font-size:1.1rem;line-height:1;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease}
.lumina-chat-teaser-close:hover{background:rgba(255,255,255,.15);color:#fff}
.lumina-chat-widget.open .lumina-chat-teaser{display:none}
@media (max-width:380px){
    .lumina-chat-teaser{white-space:normal;max-width:190px;font-size:.8rem;line-height:1.4}
}


/* Small branding strip at the bottom of the chat window. */
.lumina-chat-powered-by{display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 0 8px 14px;background:#f7f7f8;border-top:1px solid #eee;flex-shrink:0;text-decoration:none;transition:background .2s ease}
.lumina-chat-powered-by:hover{background:#f0f0f2}
.lumina-chat-powered-by span{font-size:.7rem;font-weight:500;color:#9a9ca3;text-decoration:none}
.lumina-chat-powered-by-logo{height:13px;width:auto;flex-shrink:0}
