/* Peggy floating chat. Matches the homepage chat styling.
   Sits above the WhatsApp button (z 90) and below the mobile menu (z 99). */
.peggy-float{--pg-red:var(--red,#E8192C);--pg-bg:var(--bg-2,#141414);--pg-bg3:var(--bg-3,#1A1A1A);--pg-line:var(--line,rgba(255,255,255,.08));--pg-text:var(--text,#EDEDEC);--pg-text2:var(--text-2,rgba(237,237,236,.6));--pg-text3:var(--text-3,rgba(237,237,236,.35));--pg-border:var(--red-border,rgba(232,25,44,.22));font-family:'Poppins',sans-serif}
.peggy-launch{position:fixed;right:28px;bottom:92px;z-index:95;display:flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 14px;border:none;border-radius:100px;background:var(--pg-red);color:#fff;font:600 14px 'Poppins',sans-serif;cursor:pointer;box-shadow:0 6px 24px rgba(232,25,44,.35);transition:transform .2s,filter .2s}
.peggy-launch:hover{transform:translateY(-2px);filter:brightness(1.08)}
.peggy-launch svg{width:20px;height:20px;fill:#fff}
.peggy-float.open .peggy-launch span{display:none}
.peggy-float.open .peggy-launch{padding:0 13px}
.peggy-panel{position:fixed;right:28px;bottom:150px;z-index:95;width:400px;max-width:calc(100vw - 32px);height:min(600px,calc(100vh - 220px));display:flex;flex-direction:column;background:var(--pg-bg);border:1px solid var(--pg-line);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.55);overflow:hidden;animation:pgIn .25s ease}
.peggy-panel[hidden]{display:none}
@keyframes pgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.peggy-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--pg-line)}
.peggy-float .chat-intro{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pg-red);display:flex;align-items:center;gap:10px;margin:0}
.peggy-float .chat-intro::before{content:'';width:20px;height:1.5px;background:var(--pg-red)}
.peggy-head-btns{display:flex;gap:4px}
.peggy-head-btns button{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--pg-text2);font-size:18px;cursor:pointer}
.peggy-head-btns button:hover{background:var(--pg-bg3);color:var(--pg-text)}
.peggy-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}
.peggy-float .chat-msg{display:flex;flex-direction:column;animation:pgIn .3s ease}
.peggy-float .chat-msg .msg-text p{margin:0 0 8px}
.peggy-float .chat-msg .msg-text p:last-child{margin:0}
.peggy-float .chat-msg.assistant .msg-text{font-size:15px;font-weight:500;line-height:1.55;color:var(--pg-text)}
.peggy-float .chat-msg.assistant .msg-text strong{font-weight:700}
.peggy-float .chat-msg.assistant .msg-text em{color:var(--pg-red)}
.peggy-float .chat-msg.user{align-items:flex-end}
.peggy-float .chat-msg.user .msg-text{font-size:14px;color:var(--pg-text);background:var(--pg-bg3);border:1px solid var(--pg-line);border-radius:12px 12px 2px 12px;padding:10px 14px;max-width:85%}
.peggy-float .chat-insights{background:var(--pg-bg3);border:1px solid var(--pg-line);border-radius:12px;padding:16px}
.peggy-float .chat-insights-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pg-text3);margin-bottom:10px}
.peggy-float .chat-insight{display:flex;gap:10px;font-size:13px;color:var(--pg-text2);line-height:1.55;margin-bottom:8px}
.peggy-float .chat-insight-dot{width:6px;height:6px;background:var(--pg-red);border-radius:50%;flex-shrink:0;margin-top:7px}
.peggy-float .chat-recommendation{position:relative;background:rgba(232,25,44,.06);border:1px solid var(--pg-border);border-radius:12px;padding:16px}
.peggy-float .chat-rec-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pg-red);margin-bottom:6px}
.peggy-float .chat-rec-title{font-size:17px;font-weight:800;color:var(--pg-text);margin-bottom:12px}
.peggy-float .chat-rec-desc{font-size:13px;color:var(--pg-text2);line-height:1.6}
.peggy-float .chat-rec-actions{display:flex;gap:8px;flex-wrap:wrap}
.peggy-float .chat-rec-actions a{font-size:13px;padding:9px 14px}
.peggy-float .chat-typing{display:flex;gap:6px;padding:6px 0}
.peggy-float .chat-typing span{width:7px;height:7px;background:var(--pg-red);border-radius:50%;opacity:.4;animation:pgDot 1.2s infinite}
.peggy-float .chat-typing span:nth-child(2){animation-delay:.2s}
.peggy-float .chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes pgDot{0%,100%{opacity:.4;transform:none}50%{opacity:1;transform:translateY(-4px)}}
.peggy-input-area{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--pg-line)}
.peggy-input{flex:1;background:var(--pg-bg3);border:1px solid var(--pg-line);border-radius:10px;padding:11px 14px;font:14px/1.5 'Poppins',sans-serif;color:var(--pg-text);resize:none;min-height:44px;max-height:120px}
.peggy-input:focus{outline:none;border-color:var(--pg-border)}
.peggy-input::placeholder{color:var(--pg-text3)}
.peggy-send-btn{width:44px;height:44px;border:none;border-radius:10px;background:var(--pg-red);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.peggy-send-btn:disabled{opacity:.4;cursor:not-allowed}
.peggy-send-btn svg{width:18px;height:18px;fill:#fff}
/* Contact form inputs, shared by the homepage chat and the floating chat */
.peggy-in{width:100%;box-sizing:border-box;background:#1A1A1A;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 12px;color:#EDEDEC;font:14px 'Poppins',sans-serif;margin-bottom:8px}
.peggy-in:focus{outline:none;border-color:rgba(232,25,44,.4)}
.peggy-lead{position:relative}
@media (max-width:640px){
  .peggy-launch{right:16px;bottom:88px}
  .peggy-panel{right:8px;left:8px;bottom:144px;width:auto;max-width:none;height:calc(100vh - 230px)}
}
