/* ── MAGGIE AI CHAT ── */
#maggie-chat { background: var(--brown); padding: 80px 20px; position: relative; overflow: hidden; }
#maggie-chat::before { content: ''; position: absolute; top: -100px; right: -100px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(201,162,39,0.1) 0%, transparent 70%); pointer-events: none; }
#maggie-chat::after { content: ''; position: absolute; bottom: -80px; left: -80px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(201,162,39,0.07) 0%, transparent 70%); pointer-events: none; }
.maggie-inner { max-width: 760px; margin: 0 auto; position: relative; z-index: 2; }
.maggie-header { text-align: center; margin-bottom: 32px; }
.maggie-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(201,162,39,0.15); border: 1px solid rgba(201,162,39,0.3); color: var(--gold); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 7px 16px; border-radius: 100px; margin-bottom: 14px; line-height: 1; }
.maggie-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); flex-shrink: 0; animation: maggiePulse 2s ease-in-out infinite; }
@keyframes maggiePulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.3)} }
.maggie-title { font-size: clamp(22px, 4vw, 36px); font-weight: 700; color: var(--cream); line-height: 1.25; margin-bottom: 8px; }
.maggie-title span { color: var(--gold); }
.maggie-sub { font-size: 14px; color: rgba(255,252,242,0.6); }
.maggie-window { background: transparent; border: none; border-radius: 0; overflow: hidden; box-shadow: none; }
.maggie-msgs { min-height: 180px; max-height: 360px; overflow-y: auto; padding: 22px 22px 8px; display: flex; flex-direction: column; gap: 14px; scroll-behavior: smooth; }
.maggie-msgs::-webkit-scrollbar { width: 4px; }
.maggie-msgs::-webkit-scrollbar-track { background: transparent; }
.maggie-msgs::-webkit-scrollbar-thumb { background: rgba(201,162,39,0.2); border-radius: 4px; }
.maggie-suggestions { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 22px 16px; }
.maggie-suggestions.hidden { display: none; }
.maggie-pill { background: rgba(255,255,255,0.05); border: 1px solid rgba(201,162,39,0.2); color: rgba(255,252,242,0.65); font-size: 12.5px; padding: 7px 14px; border-radius: 100px; cursor: pointer; transition: all .2s; font-family: 'Poppins', sans-serif; }
.maggie-pill:hover { background: rgba(201,162,39,0.12); border-color: rgba(201,162,39,0.45); color: var(--gold); }
.maggie-msg { display: flex; gap: 10px; align-items: center; max-width: 88%; animation: mfadeUp .3s cubic-bezier(.16,1,.3,1) both; }
.maggie-msg.user { align-self: flex-end; flex-direction: row-reverse; }
@keyframes mfadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.maggie-av { width: 22px; height: 22px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.maggie-av svg { width: 20px; height: 20px; }
.maggie-msg.bot .maggie-av { color: var(--gold); }
.maggie-msg.user .maggie-av { color: rgba(255,252,242,0.45); }
.maggie-bubble { padding: 10px 14px; border-radius: 16px; font-size: 13.5px; line-height: 1.65; }
.maggie-msg.bot .maggie-bubble { background: rgba(0,0,0,0.18); color: rgba(255,252,242,0.92); border-radius: 4px 16px 16px 16px; }
.maggie-msg.user .maggie-bubble { background: linear-gradient(135deg, var(--gold-dark), var(--gold)); color: var(--brown-dark); font-weight: 500; border-radius: 16px 16px 4px 16px; }
.maggie-typing { display: flex; gap: 10px; align-items: center; animation: mfadeUp .2s ease both; }
.maggie-typing-dots { display: flex; gap: 5px; background: rgba(0,0,0,0.18); padding: 11px 16px; border-radius: 4px 16px 16px 16px; }
.maggie-typing-dots span { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); opacity: .3; animation: mDot 1.2s ease-in-out infinite; }
.maggie-typing-dots span:nth-child(2){animation-delay:.2s} .maggie-typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes mDot { 0%,60%,100%{opacity:.2;transform:translateY(0)} 30%{opacity:1;transform:translateY(-4px)} }
.maggie-input-row { display: flex; align-items: center; gap: 8px; padding: 16px 0 0; background: transparent; border-top: none; }
.maggie-input { flex: 1; background: rgba(0,0,0,0.2); border: 1px solid rgba(201,162,39,0.25); border-radius: 12px; padding: 11px 15px; font-size: 14px; color: var(--cream); font-family: 'Poppins', sans-serif; outline: none; resize: none; min-height: 42px; max-height: 110px; line-height: 1.5; transition: border-color .2s; }
.maggie-input::placeholder { color: rgba(255,252,242,0.35); }
.maggie-input:focus { border-color: rgba(201,162,39,0.55); }
.maggie-btn { width: 38px; height: 38px; border-radius: 10px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .2s; }
.maggie-mic { background: rgba(255,255,255,0.07); color: rgba(255,252,242,0.4); }
.maggie-mic:hover { background: rgba(255,255,255,0.12); color: rgba(255,252,242,0.7); }
.maggie-mic.recording { background: rgba(239,68,68,0.15); color: #ef4444; animation: mMicPulse 1s ease-in-out infinite; }
@keyframes mMicPulse { 0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.3)} 50%{box-shadow:0 0 0 8px rgba(239,68,68,0)} }
.maggie-send { background: linear-gradient(135deg, var(--gold-dark), var(--gold)); color: var(--brown-dark); }
.maggie-send:hover { transform: scale(1.06); box-shadow: 0 4px 16px rgba(201,162,39,0.4); }
.maggie-send:disabled { opacity: .4; cursor: not-allowed; transform: none; box-shadow: none; }
.maggie-footer { text-align: center; padding: 12px 0 0; font-size: 11px; color: rgba(255,252,242,0.3); letter-spacing: .3px; }
.maggie-footer a { color: rgba(255,252,242,0.35); text-decoration: none; }
@media(max-width:640px) { #maggie-chat{padding:48px 16px 32px} .maggie-msgs{max-height:220px} .maggie-suggestions{padding:0 0 12px;flex-wrap:wrap;gap:6px} .maggie-pill{font-size:12px;padding:6px 12px} .maggie-input-row{padding:10px 0 0;gap:8px} .maggie-input{font-size:16px;padding:10px 12px;min-height:64px} .maggie-btn{width:44px;height:44px;flex-shrink:0} .maggie-title{font-size:22px} .maggie-sub{font-size:13px} }
