/* chatbot.css - floating AI-style assistant for shrinathnangemaharaj.org */
#nbChat,#nbChat *{box-sizing:border-box}
#nbChat{--c1:#a94712;--c2:#762b08;--gold:#d9a441;--cream:#fff9ed;--bd:#ead8bc;font-family:"Noto Sans Devanagari","Mukta",system-ui,sans-serif}
#nbFab{position:fixed;right:18px;bottom:18px;z-index:2147483000;display:flex;align-items:center;gap:10px;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;padding:10px 18px 10px 12px;border-radius:999px;font:600 15px/1.2 inherit;
  box-shadow:0 10px 28px rgba(118,43,8,.45);transition:transform .2s}
#nbFab:hover{transform:translateY(-2px)}
#nbFab .av{width:38px;height:38px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
#nbFab .av img{width:30px;height:30px;object-fit:contain}
#nbFab .pulse{position:absolute;top:4px;left:38px;width:11px;height:11px;border-radius:50%;background:#34c759;border:2px solid #fff}
#nbPanel{position:fixed;right:18px;bottom:18px;z-index:2147483001;width:390px;max-width:calc(100vw - 24px);height:min(640px,calc(100dvh - 36px));
  background:var(--cream);border-radius:22px;box-shadow:0 20px 60px rgba(60,25,5,.35);display:none;flex-direction:column;overflow:hidden;border:1px solid var(--bd)}
#nbPanel.open{display:flex;animation:nbUp .25s ease}
@keyframes nbUp{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.nb-head{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;padding:14px 14px 14px 16px;display:flex;align-items:center;gap:12px}
.nb-head .av{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nb-head .av img{width:34px;height:34px;object-fit:contain}
.nb-head .tt{flex:1;min-width:0}.nb-head b{display:block;font-size:16px;line-height:1.3}
.nb-head small{opacity:.85;font-size:12.5px}
.nb-head button{background:rgba(255,255,255,.18);border:0;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1}
.nb-head button:hover{background:rgba(255,255,255,.3)}
#nbMsgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.nb-m{max-width:92%;font-size:15px;line-height:1.65;word-wrap:break-word}
.nb-m.u{align-self:flex-end;background:var(--c1);color:#fff;padding:9px 14px;border-radius:18px 18px 4px 18px}
.nb-m.b{align-self:flex-start;background:#fff;color:#30251f;padding:12px 14px;border-radius:18px 18px 18px 4px;border:1px solid var(--bd);box-shadow:0 2px 8px rgba(90,45,15,.06)}
.nb-m.b h4{margin:0 0 6px;font-size:15.5px;color:var(--c2);line-height:1.4}
.nb-m.b p{margin:0 0 8px}
.nb-src{font-size:12px;color:#8a7a6d;margin-bottom:6px}
.nb-imgs{display:flex;gap:8px;margin:6px 0 10px;overflow-x:auto;padding-bottom:2px}
.nb-imgs.grid{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}
.nb-imgs figure{margin:0;flex:0 0 auto}
.nb-imgs.grid figure{flex:none}
.nb-imgs img{display:block;height:128px;width:auto;max-width:230px;object-fit:cover;border-radius:12px;cursor:zoom-in;border:1px solid var(--bd);background:#f3e8d4}
.nb-imgs.grid img{width:100%;height:92px;max-width:none}
.nb-imgs.one img{height:auto;max-height:200px;width:100%;max-width:100%}
.nb-imgs figcaption{font-size:11.5px;color:#7a6a5d;margin-top:3px;max-width:230px;line-height:1.35}
.nb-imgs.grid figcaption{max-width:none}
.nb-more{background:none;border:0;color:var(--c1);font:600 13.5px inherit;cursor:pointer;padding:0;margin:0 0 8px}
.nb-acts{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.nb-btn{display:inline-block;background:var(--c1);color:#fff!important;text-decoration:none;font-size:13.5px;font-weight:600;padding:7px 13px;border-radius:999px;border:0;cursor:pointer;font-family:inherit}
.nb-btn.alt{background:#fff;color:var(--c1)!important;border:1px solid var(--c1)}
.nb-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.nb-chip{background:#fff;border:1px solid var(--gold);color:var(--c2);font:500 13.5px/1.3 inherit;padding:6px 12px;border-radius:999px;cursor:pointer}
.nb-chip:hover{background:#fdf0d4}
.nb-ev{border:1px solid var(--bd);border-radius:12px;padding:9px 11px;margin:0 0 8px;background:#fffdf8}
.nb-ev img{width:100%;max-height:140px;object-fit:cover;border-radius:8px;margin-bottom:6px}
.nb-ev b{display:block;color:var(--c2)}.nb-ev span{display:block;font-size:13px;color:#6d625b}
.nb-typing{display:flex;gap:4px;padding:4px 2px}.nb-typing i{width:7px;height:7px;border-radius:50%;background:var(--c1);opacity:.4;animation:nbDot 1s infinite}
.nb-typing i:nth-child(2){animation-delay:.15s}.nb-typing i:nth-child(3){animation-delay:.3s}
@keyframes nbDot{0%,80%,100%{transform:translateY(0);opacity:.3}40%{transform:translateY(-5px);opacity:1}}
.nb-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--bd);background:#fff;align-items:center}
.nb-form input{flex:1;min-width:0;border:1px solid var(--bd);border-radius:999px;padding:10px 15px;font:15px inherit;background:var(--cream);outline:none}
.nb-form input:focus{border-color:var(--c1)}
.nb-form button{border:0;border-radius:50%;width:42px;height:42px;cursor:pointer;background:var(--c1);color:#fff;font-size:18px;flex-shrink:0}
.nb-form button.mic{background:#f3e3c6;color:var(--c2)}.nb-form button.mic.on{background:#d33;color:#fff}
.nb-foot{font-size:11px;color:#9a8a7d;text-align:center;padding:0 10px 8px;background:#fff}
#nbLight{position:fixed;inset:0;z-index:2147483600;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;flex-direction:column;padding:16px}
#nbLight.open{display:flex}#nbLight img{max-width:100%;max-height:82vh;border-radius:10px}
#nbLight p{color:#fff;margin:10px 0 0;text-align:center;font-size:15px}
@media(max-width:520px){
  #nbPanel{right:0;bottom:0;left:0;width:100%;max-width:100%;height:100dvh;border-radius:0}
  #nbFab{right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:8px 16px 8px 9px;font-size:14.5px;gap:8px}
  #nbFab .av{width:34px;height:34px}#nbFab .av img{width:27px;height:27px}#nbFab .pulse{left:33px}
  .nb-imgs.grid{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){#nbPanel.open{animation:none}.nb-typing i{animation:none}}
