/* Red Gum chat: white cards, red accents, black buttons — the site's own look (Poppins, #DD0B0B). */
.rgc{
  --rgc-black:#111111; --rgc-black-soft:#2B2B2B; --rgc-red:#DD0B0B; --rgc-red-soft:#B80909;
  --rgc-paper:#F3F5F8; --rgc-rule:#DDE1E7; --rgc-ink:#161616; --rgc-muted:#7A8089;
  --rgc-r:10px; --rgc-shadow:0 12px 36px rgba(17,17,17,.24);
  font-family:'Poppins',system-ui,-apple-system,Arial,sans-serif;
  position:fixed; right:20px; bottom:20px; z-index:99999;
}
.rgc *,.rgc *::before,.rgc *::after{box-sizing:border-box;}
.rgc .rgc-hidden{display:none !important;}
.rgc button{font:inherit; border:0; box-shadow:none; outline:none; text-shadow:none; min-height:0; line-height:1;}
.rgc button:focus-visible{outline:2px solid var(--rgc-red); outline-offset:2px;}
.rgc .rgc-hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none;}

/* teaser */
.rgc-teaser{position:absolute; right:0; bottom:76px; width:280px; background:#fff; border:1px solid var(--rgc-rule); border-radius:14px; box-shadow:0 8px 24px rgba(17,17,17,.16); padding:12px 30px 12px 12px; display:flex; gap:10px; align-items:flex-start; cursor:pointer; animation:rgc-in .45s cubic-bezier(.34,1.56,.64,1); transition:transform .15s, box-shadow .15s;}
.rgc-teaser:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,17,17,.22);}
@keyframes rgc-in{from{opacity:0; transform:translateY(8px) scale(.96);}to{opacity:1; transform:none;}}
.rgc-avatar{flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#fff; border:1.5px solid var(--rgc-rule); color:var(--rgc-red); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; overflow:hidden;}
.rgc-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
.rgc-teaser-text{flex:1; min-width:0;}
.rgc-teaser-name{font-size:12px; font-weight:700; color:var(--rgc-red); margin-bottom:3px; line-height:1.2;}
.rgc-teaser-name span{font-weight:400; color:var(--rgc-muted);}
.rgc-teaser-msg{font-size:14px; line-height:1.45; color:var(--rgc-ink);}
.rgc-teaser-x{position:absolute; top:6px; right:6px; width:22px; height:22px; padding:0; border:0 !important; box-shadow:none !important; border-radius:50%; background:transparent !important; color:var(--rgc-muted) !important; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:.7;}
.rgc-teaser-x:hover{opacity:1; background:var(--rgc-rule) !important; color:var(--rgc-ink) !important;}

/* bubble */
.rgc-bubble{position:relative; width:62px; height:62px; padding:0; border-radius:50%; background:#fff; color:var(--rgc-black); border:0 !important; box-shadow:var(--rgc-shadow); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .2s, background .2s;}
.rgc-bubble:hover{background:#fff; transform:scale(1.06);}
.rgc-bubble-logo{width:44px; height:44px; object-fit:contain; display:block;}
.rgc-dot{position:absolute; top:3px; right:3px; width:13px; height:13px; border-radius:50%; background:var(--rgc-red); border:2px solid #fff; animation:rgc-pulse 2s infinite;}
@keyframes rgc-pulse{0%{box-shadow:0 0 0 0 rgba(221,11,11,.55);}70%{box-shadow:0 0 0 10px rgba(221,11,11,0);}100%{box-shadow:0 0 0 0 rgba(221,11,11,0);}}

/* panel */
.rgc-panel{position:absolute; right:0; bottom:0; width:380px; max-width:calc(100vw - 24px); height:580px; max-height:calc(100vh - 24px); background:var(--rgc-paper); border-radius:18px; box-shadow:var(--rgc-shadow); display:flex; flex-direction:column; overflow:hidden;}
.rgc-head{background:#fff; color:var(--rgc-ink); padding:15px 16px 15px 18px; display:flex; justify-content:space-between; align-items:center; border-bottom:3px solid var(--rgc-red);}
.rgc-head-id{display:flex; align-items:center; gap:10px;}
.rgc-head-logo{width:36px; height:36px; border-radius:50%; object-fit:contain; background:#fff; border:1px solid var(--rgc-rule); padding:3px; flex:0 0 36px;}
.rgc-title{font-size:16px; font-weight:700; color:var(--rgc-red); letter-spacing:.01em;}
.rgc-title span{font-weight:400; font-size:13px; color:var(--rgc-muted); margin-left:6px;}
.rgc-status{font-size:12px; color:var(--rgc-muted); margin-top:3px; display:flex; align-items:center; gap:6px;}
.rgc-live{width:7px; height:7px; border-radius:50%; background:#1FA34A; box-shadow:0 0 6px rgba(31,163,74,.6);}
.rgc-head-btns{display:flex; gap:2px;}
.rgc-min,.rgc-close{background:transparent !important; border:0 !important; box-shadow:none !important; color:var(--rgc-ink) !important; padding:6px; border-radius:6px; opacity:.65; cursor:pointer; display:flex; line-height:1;}
.rgc-min:hover,.rgc-close:hover,.rgc-min:focus-visible,.rgc-close:focus-visible{opacity:1; background:var(--rgc-paper) !important; outline:none;}

.rgc-log{flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:12px;}
.rgc-msg{max-width:86%; padding:11px 15px; border-radius:14px; font-size:14.5px; line-height:1.5; overflow-wrap:anywhere;}
.rgc-msg.bot{align-self:flex-start; background:#fff; color:var(--rgc-ink); border:1px solid var(--rgc-rule); border-bottom-left-radius:4px;}
.rgc-msg.you{align-self:flex-end; background:var(--rgc-black); color:#fff; border-bottom-right-radius:4px;}
.rgc-msg p{margin:0 0 8px;} .rgc-msg p:last-child{margin:0;}
.rgc-msg a{display:inline-block; margin-top:6px; padding:9px 16px; background:var(--rgc-black) !important; color:#fff !important; border-radius:var(--rgc-r); text-decoration:none !important; font-weight:600; font-size:13px; line-height:1.3; transition:background .15s, transform .15s;}
.rgc-msg a:hover,.rgc-msg a:focus-visible{background:var(--rgc-red) !important; transform:translateY(-1px); outline:none;}
.rgc-msg.err{align-self:stretch; max-width:none; text-align:center; font-size:13px; background:rgba(221,11,11,.07); color:var(--rgc-red-soft); border:1px solid rgba(221,11,11,.2);}
.rgc-typing{align-self:flex-start; display:inline-flex; gap:4px; padding:13px 16px; background:#fff; border:1px solid var(--rgc-rule); border-radius:14px; border-bottom-left-radius:4px;}
.rgc-typing span{width:6px; height:6px; border-radius:50%; background:var(--rgc-muted); animation:rgc-bounce 1.2s infinite ease-in-out;}
.rgc-typing span:nth-child(2){animation-delay:.15s;} .rgc-typing span:nth-child(3){animation-delay:.3s;}
@keyframes rgc-bounce{0%,60%,100%{transform:none; opacity:.4;}30%{transform:translateY(-4px); opacity:1;}}

.rgc-ctas{display:flex; gap:8px; padding:10px 12px; border-top:1px solid var(--rgc-rule); background:var(--rgc-paper);}
.rgc-cta{flex:1 1 0; display:flex; align-items:center; justify-content:center; min-height:44px; text-align:center; padding:9px 8px; border-radius:var(--rgc-r); border:1.5px solid var(--rgc-black); color:var(--rgc-black) !important; background:#fff; text-decoration:none !important; font-weight:600; font-size:12px; line-height:1.25; text-transform:uppercase; letter-spacing:.04em; transition:background .15s;}
.rgc-cta:hover,.rgc-cta:focus-visible{background:rgba(17,17,17,.05); outline:none;}
.rgc-cta--main{background:var(--rgc-black); color:#fff !important;}
.rgc-cta--main:hover,.rgc-cta--main:focus-visible{background:var(--rgc-red); border-color:var(--rgc-red);}

.rgc-input-row{position:relative; display:flex; gap:8px; align-items:flex-end; padding:12px; background:#fff; border-top:1px solid var(--rgc-rule);}
#rgc-input{flex:1 1 auto; min-width:0; resize:none; max-height:120px; padding:10px 12px; border:1px solid var(--rgc-rule); border-radius:var(--rgc-r); background:var(--rgc-paper); color:var(--rgc-ink); font:16px/1.4 'Poppins',system-ui,sans-serif; outline:none;}
#rgc-input:focus{border-color:var(--rgc-black);}
#rgc-send{flex:0 0 42px; width:42px; height:42px; padding:0; border:0 !important; box-shadow:none !important; border-radius:50%; background:var(--rgc-black); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer;}
#rgc-send svg{transform:translateX(-1px);}
#rgc-send:hover{background:var(--rgc-red);}
#rgc-send:disabled{background:var(--rgc-rule); color:var(--rgc-muted); cursor:not-allowed;}
.rgc-foot{text-align:center; font-size:11px; color:var(--rgc-muted); padding:6px 0 9px; background:#fff;}

@media (max-width:480px){
  .rgc{right:12px; bottom:12px;}
  .rgc-panel{width:calc(100vw - 24px); height:min(580px, calc(100vh - 80px));}
  .rgc-teaser{width:calc(100vw - 24px);}
  .rgc-msg{font-size:16px;}
  .rgc-cta{font-size:11.5px;}
}
@media (prefers-reduced-motion:reduce){
  .rgc-teaser,.rgc-dot,.rgc-typing span{animation:none;}
}
