/* ---------- AI yatra concierge ---------- */
.cg-fab{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:10px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--burnt),var(--burnt-d));color:#fff;padding:13px 20px 13px 13px;border-radius:999px;box-shadow:0 10px 30px rgba(147,57,12,.38);font:600 14px var(--sans);letter-spacing:.01em;transition:transform .25s,box-shadow .25s}
.cg-fab:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(147,57,12,.45)}
.cg-fab .cg-fab-ic{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;overflow:hidden}
.cg-fab .cg-fab-ic img{height:30px;width:auto;display:block}
.cg-panel{position:fixed;right:22px;bottom:92px;z-index:81;width:min(392px,calc(100vw - 28px));height:min(600px,calc(100dvh - 130px));display:flex;flex-direction:column;background:#fffdf9;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(60,30,10,.28);overflow:hidden;opacity:0;transform:translateY(14px) scale(.98);pointer-events:none;transition:opacity .28s,transform .28s}
.cg-panel.open{opacity:1;transform:none;pointer-events:auto}
.cg-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(120deg,#fff7ec,#fbeede);border-bottom:1px solid var(--line)}
.cg-head .cg-logo{width:40px;height:40px;background:#fff;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;flex:none}
.cg-head .cg-logo img{height:34px;width:auto;display:block}
.cg-head strong{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--brown);display:block;line-height:1.15}
.cg-head small{font-size:11.5px;color:var(--muted);display:block;line-height:1.3}
.cg-close{margin-left:auto;border:none;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px}
.cg-close:hover{color:var(--brown);background:#f6ecdc}
.cg-body{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.cg-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
.cg-msg.user{align-self:flex-end;background:var(--burnt);color:#fff;border-bottom-right-radius:4px}
.cg-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.cg-msg.bot a{color:var(--burnt);font-weight:600}
.cg-msg.bot b{color:var(--brown)}
.cg-typing{align-self:flex-start;display:flex;gap:5px;padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:14px;border-bottom-left-radius:4px}
.cg-typing span{width:7px;height:7px;border-radius:50%;background:#d8b995;animation:cg-blink 1.1s infinite}
.cg-typing span:nth-child(2){animation-delay:.18s}.cg-typing span:nth-child(3){animation-delay:.36s}
@keyframes cg-blink{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.cg-chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 14px 10px}
.cg-chips button{border:1px solid var(--line);background:#fff;color:var(--brown);font:600 12.5px var(--sans);padding:7px 12px;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s}
.cg-chips button:hover{border-color:var(--burnt);background:#fdf3e6}
.cg-foot{padding:10px 12px 6px;border-top:1px solid var(--line);display:flex;gap:8px}
.cg-foot textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:14px/1.4 var(--sans);color:var(--ink);background:#fff;max-height:110px}
.cg-foot textarea:focus{outline:2px solid var(--burnt);outline-offset:0;border-color:var(--burnt)}
.cg-send{border:none;background:var(--burnt);color:#fff;border-radius:12px;padding:0 16px;font:700 14px var(--sans);cursor:pointer;transition:background .2s}
.cg-send:hover{background:var(--burnt-d)}
.cg-send:disabled{background:#d9c3ab;cursor:default}
.cg-legal{padding:0 14px 10px;font-size:10.5px;color:#a8825f;line-height:1.45}
/* full-page mode */
.cg-page{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:#fffdf9;box-shadow:var(--shadow);overflow:hidden;height:min(640px,calc(100dvh - 220px))}
.cg-page .cg-body{flex:1}
@media (max-width:560px){
.cg-fab{right:16px;bottom:16px}
.cg-panel{right:0;bottom:0;left:0;width:100%;height:100dvh;border-radius:0;border:none}
.cg-panel.open{transform:none}
}
