/* AI FAQ Widget */
/* AI FAQ Bar */
.aifaq-btn{position:fixed;bottom:0;right:24px;z-index:150;background:var(--brand);color:var(--ci-light);border:none;cursor:pointer;box-shadow:0 -2px 16px rgba(46,107,39,.2);display:flex;align-items:center;gap:8px;padding:0 22px;height:40px;border-radius:var(--r-md) var(--r-md) 0 0;transition: background .3s, box-shadow .3s;font-family:var(--f-head);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}
.aifaq-btn:hover{background:var(--brand-light);box-shadow:0 -4px 24px rgba(46,107,39,.3)}
.aifaq-btn svg{width:18px;height:18px;flex-shrink:0}
.aifaq-btn-dot{width:6px;height:6px;border-radius:50%;background:var(--ci-gold-sub);flex-shrink:0;animation:aifaqPulse 2.4s ease-in-out infinite}
@keyframes aifaqPulse{0%,100%{opacity:.4}50%{opacity:1}}
.aifaq-panel{position:fixed;bottom:44px;right:24px;z-index:150;width:380px;max-height:520px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 12px 48px rgba(30,27,24,.12),0 0 0 1px rgba(181,149,106,.06);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);transition: opacity .25s cubic-bezier(.22,1,.36,1), transform .25s cubic-bezier(.22,1,.36,1), visibility .25s cubic-bezier(.22,1,.36,1);pointer-events:none}
.aifaq-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.aifaq-header{padding:14px 20px;background:var(--brand);color:var(--ci-light);display:flex;align-items:center;justify-content:space-between;font-family:var(--f-head);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;flex-shrink:0}
.aifaq-header-left{display:flex;align-items:center;gap:10px}
.aifaq-header-icon{width:28px;height:28px;border-radius:50%;background:rgba(253,250,247,.15);display:flex;align-items:center;justify-content:center}
.aifaq-header-icon svg{width:14px;height:14px}
.aifaq-close{background:none;border:none;color:rgba(253,250,247,.6);font-size:22px;cursor:pointer;line-height:1;transition:color .2s;padding:0 2px}
.aifaq-close:hover{color:var(--ci-light)}
.aifaq-body{flex:1;overflow-y:auto;padding:20px;min-height:240px;display:flex;flex-direction:column;gap:12px}

.aifaq-msg{max-width:85%;font-family:var(--f-body);font-size:var(--fs-xs);line-height:1.7;padding:10px 14px;border-radius:var(--r-md);animation:aifaqMsgIn .3s ease both}
@keyframes aifaqMsgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.aifaq-msg.user{align-self:flex-end;background:var(--brand);color:var(--ci-light);border-bottom-right-radius:2px}
.aifaq-msg.ai{align-self:flex-start;background:var(--bg-2);color:var(--ink-2);border:1px solid var(--border-2);border-bottom-left-radius:2px}
.aifaq-msg.ai .aifaq-msg-label{font-family:var(--f-head);font-size:11px;font-weight:600;color:var(--brand);margin-bottom:4px}
.aifaq-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}
.aifaq-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-4);animation:aifaqTyping 1.2s ease-in-out infinite}
.aifaq-typing span:nth-child(2){animation-delay:.2s}
.aifaq-typing span:nth-child(3){animation-delay:.4s}
@keyframes aifaqTyping{0%,60%,100%{opacity:.3;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}
.aifaq-input-wrap{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;background:var(--bg);flex-shrink:0}
.aifaq-input{flex:1;font-family:var(--f-body);font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--r-full);padding:10px 16px;outline:none;background:var(--bg);color:var(--ink);transition:border-color .2s}
.aifaq-input:focus{border-color:var(--brand)}
.aifaq-input:disabled{background:var(--bg-2);color:var(--ink-4);cursor:not-allowed}
.aifaq-input:disabled::placeholder{color:var(--ink-5)}
.aifaq-send{width:36px;height:36px;border-radius:50%;background:var(--brand);border:none;color:var(--ci-light);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition: background .2s}
.aifaq-send:hover{background:var(--brand-light)}
.aifaq-send:disabled{background:var(--ink-5);cursor:not-allowed}
.aifaq-send svg{width:14px;height:14px}
.aifaq-footer{text-align:center;padding:6px 16px 10px;font-family:var(--f-head);font-size:10px;color:var(--ink-5);letter-spacing:.02em}

/* Responsive */
@media(max-width:1024px){
  .aifaq-panel{width:320px;right:16px;bottom:44px}
}
@media(max-width:768px){
  .aifaq-panel{width:calc(100% - 32px);right:16px;left:16px;bottom:44px;max-height:70vh}
  .aifaq-btn{right:16px;font-size:12px;padding:0 16px;height:36px}
}
