/* AI Assistant Widget — istanbulrealestate.de */
:root {
  --ai-navy: #12345c;
  --ai-navy-deep: #0b2240;
  --ai-teal: #4d9999;
  --ai-surface: #ffffff;
  --ai-bg: #f3f6fa;
  --ai-muted: #667788;
  --ai-ink: #163256;
  --ai-border: rgba(18,52,92,0.10);
  --ai-shadow-sm: 0 4px 16px rgba(12,30,50,0.10);
  --ai-shadow-lg: 0 24px 64px rgba(12,30,50,0.18);
  --ai-panel-w: 420px;
  --ai-transition: 0.32s cubic-bezier(0.4,0,0.2,1);
}
.ai-assistant-trigger{position:fixed;bottom:115px;right:40px;z-index:99998;width:60px;height:60px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--ai-teal) 0%,#3a8484 100%);color:#fff;font-size:26px;cursor:pointer;box-shadow:0 8px 28px rgba(77,153,153,0.35),0 2px 8px rgba(0,0,0,0.10);transition:transform var(--ai-transition),box-shadow var(--ai-transition);display:flex;align-items:center;justify-content:center;outline:none;line-height:1}
.ai-assistant-trigger:hover{transform:scale(1.08);box-shadow:0 12px 36px rgba(77,153,153,0.45)}
.ai-assistant-trigger:active{transform:scale(0.96)}
.ai-assistant-trigger .ai-icon-chat,.ai-assistant-trigger .ai-icon-close{position:absolute;transition:opacity .22s ease,transform .22s ease}
.ai-assistant-trigger .ai-icon-close{opacity:0;transform:rotate(-90deg) scale(0.6)}
.ai-assistant-trigger.is-active .ai-icon-chat{opacity:0;transform:rotate(90deg) scale(0.6)}
.ai-assistant-trigger.is-active .ai-icon-close{opacity:1;transform:rotate(0) scale(1)}
.ai-assistant-trigger::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(77,153,153,0.3);animation:ai-pulse 2.4s ease-in-out infinite}
.ai-assistant-trigger.is-active::before{animation:none;opacity:0}
@keyframes ai-pulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.18);opacity:0}}

.ai-assistant-backdrop{position:fixed;inset:0;z-index:99998;background:rgba(11,34,64,0.18);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity var(--ai-transition)}
.ai-assistant-backdrop.is-visible{opacity:1;pointer-events:auto}

.ai-assistant-panel{position:fixed;top:0;right:0;bottom:0;z-index:99999;width:var(--ai-panel-w);max-width:100vw;display:flex;flex-direction:column;background:var(--ai-bg);box-shadow:var(--ai-shadow-lg);transform:translateX(100%);transition:transform var(--ai-transition);overflow:hidden}
.ai-assistant-panel.is-open{transform:translateX(0)}

.ai-assistant-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;background:linear-gradient(135deg,var(--ai-navy) 0%,var(--ai-navy-deep) 100%);color:#fff;flex-shrink:0}
.ai-assistant-header-left{display:flex;align-items:center;gap:12px;min-width:0}
.ai-assistant-avatar{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.ai-assistant-header-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.ai-assistant-header-title{margin:0;font-size:16px;font-weight:700;letter-spacing:-0.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-assistant-header-subtitle{font-size:11px;font-weight:500;color:rgba(255,255,255,0.55);letter-spacing:0.06em;text-transform:uppercase}
.ai-assistant-header-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,0.65)}
.ai-assistant-header-dot{width:7px;height:7px;border-radius:50%;background:#4ee68c;animation:ai-dot-pulse 1.8s ease-in-out infinite}
@keyframes ai-dot-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.ai-assistant-close{width:34px;height:34px;border:1px solid rgba(255,255,255,0.12);border-radius:10px;background:rgba(255,255,255,0.06);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease}
.ai-assistant-close:hover{background:rgba(255,255,255,0.14)}

.ai-assistant-messages{flex:1 1 0;overflow-y:auto;padding:20px 16px 16px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.ai-assistant-messages::-webkit-scrollbar{width:5px}
.ai-assistant-messages::-webkit-scrollbar-track{background:transparent}
.ai-assistant-messages::-webkit-scrollbar-thumb{background:rgba(18,52,92,0.14);border-radius:10px}

.ai-msg{max-width:92%;padding:14px 16px;border-radius:18px;font-size:14px;line-height:1.65;word-break:break-word;animation:ai-msg-in .28s ease-out}
@keyframes ai-msg-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.ai-msg--bot{align-self:flex-start;background:var(--ai-surface);color:var(--ai-ink);border:1px solid var(--ai-border);box-shadow:var(--ai-shadow-sm);border-bottom-left-radius:6px}
.ai-msg--user{align-self:flex-end;background:linear-gradient(135deg,var(--ai-navy) 0%,#1a4a7a 100%);color:#fff;border-bottom-right-radius:6px}
.ai-msg--bot strong{color:var(--ai-navy);font-weight:700}
.ai-msg--bot a{color:var(--ai-teal);font-weight:600;text-decoration:none}
.ai-msg--bot a:hover{text-decoration:underline}

.ai-blog-results{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.ai-blog-card{display:flex;gap:10px;padding:10px 12px;border:1px solid rgba(18,52,92,0.08);border-radius:14px;background:rgba(243,246,250,0.7);text-decoration:none;color:var(--ai-ink);transition:border-color .2s ease,transform .15s ease}
.ai-blog-card:hover{border-color:rgba(77,153,153,0.35);transform:translateY(-1px);color:var(--ai-ink)}
.ai-blog-card-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--ai-teal),#3a8484);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.ai-blog-card-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.ai-blog-card-label{font-size:10px;font-weight:700;color:var(--ai-teal);text-transform:uppercase;letter-spacing:0.1em}
.ai-blog-card-title{margin:0;font-size:13px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

.ai-typing{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:14px 20px;border-radius:18px;border-bottom-left-radius:6px;background:var(--ai-surface);border:1px solid var(--ai-border);box-shadow:var(--ai-shadow-sm);animation:ai-msg-in .28s ease-out}
.ai-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--ai-muted);animation:ai-typing-bounce 1.4s infinite ease-in-out}
.ai-typing-dot:nth-child(2){animation-delay:.16s}
.ai-typing-dot:nth-child(3){animation-delay:.32s}
@keyframes ai-typing-bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}

.ai-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ai-suggestion-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid rgba(77,153,153,0.22);border-radius:999px;background:rgba(77,153,153,0.06);color:var(--ai-teal);font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease;white-space:nowrap}
.ai-suggestion-chip:hover{background:rgba(77,153,153,0.14);border-color:rgba(77,153,153,0.4);transform:translateY(-1px)}

.ai-assistant-input-area{padding:12px 16px 16px;background:var(--ai-surface);border-top:1px solid var(--ai-border);flex-shrink:0}
.ai-assistant-input-wrap{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;border:1px solid rgba(18,52,92,0.12);border-radius:16px;background:var(--ai-bg);transition:border-color .2s ease,box-shadow .2s ease}
.ai-assistant-input-wrap:focus-within{border-color:rgba(77,153,153,0.5);box-shadow:0 0 0 3px rgba(77,153,153,0.10)}
.ai-assistant-input{flex:1 1 0;min-width:0;border:0;background:transparent;color:var(--ai-ink);font-size:14px;line-height:1.5;outline:none;padding:8px 0}
.ai-assistant-input::placeholder{color:var(--ai-muted)}
.ai-assistant-send{width:40px;height:40px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--ai-teal) 0%,#3a8484 100%);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease}
.ai-assistant-send:hover{transform:scale(1.06);box-shadow:0 4px 14px rgba(77,153,153,0.3)}
.ai-assistant-send:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

.ai-assistant-footer{padding:0 16px 10px;background:var(--ai-surface);text-align:center;flex-shrink:0}
.ai-assistant-footer-text{font-size:10px;color:var(--ai-muted);letter-spacing:0.04em}

@media only screen and (max-width:520px){
  .ai-assistant-panel{width:100vw}
  .ai-assistant-trigger{bottom:18px;right:18px;width:54px;height:54px;font-size:22px}
}
