/* Legacy Pressure Cleaning chat: shared widget shape in the residential colours (tokens.json). */
.lcc{
  --lcc-black:#12294A; --lcc-black-soft:#1B3A66; --lcc-yellow:#18C2D4; --lcc-yellow-soft:#4FD3E1;
  --lcc-paper:#F2F6FA; --lcc-rule:#DCE3EB; --lcc-ink:#12294A; --lcc-body:#44505F; --lcc-muted:#5B6573; --lcc-brick:#B6321D;
  --lcc-r:4px; --lcc-shadow:0 12px 36px rgba(11,26,48,.30);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,Arial,sans-serif;
  position:fixed; right:20px; bottom:20px; z-index:99999;
}
.lcc *,.lcc *::before,.lcc *::after{box-sizing:border-box;}
.lcc .lcc-hidden{display:none !important;}
.lcc button{font:inherit;}

/* teaser */
.lcc-teaser{position:absolute; right:0; bottom:76px; width:280px; background:#fff; border:1px solid var(--lcc-rule); border-radius:14px; box-shadow:0 8px 24px rgba(11,26,48,.18); padding:12px 30px 12px 12px; display:flex; gap:10px; align-items:flex-start; cursor:pointer; animation:lcc-in .45s cubic-bezier(.34,1.56,.64,1); transition:transform .15s, box-shadow .15s;}
.lcc-teaser:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(11,26,48,.25);}
@keyframes lcc-in{from{opacity:0; transform:translateY(8px) scale(.96);}to{opacity:1; transform:none;}}
.lcc-avatar{flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--lcc-black); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Plus Jakarta Sans',system-ui,sans-serif; font-weight:800; font-size:15px;}
.lcc-teaser-text{flex:1; min-width:0;}
.lcc-teaser-name{font-family:'Plus Jakarta Sans',system-ui,sans-serif; font-size:12px; font-weight:700; color:var(--lcc-ink); margin-bottom:3px; line-height:1.2;}
.lcc-teaser-name span{font-weight:400; color:var(--lcc-muted);}
.lcc-teaser-msg{font-size:14px; line-height:1.45; color:var(--lcc-ink);}
.lcc-teaser-x{position:absolute; top:6px; right:6px; width:22px; height:22px; padding:0; border:0; border-radius:50%; background:transparent !important; color:var(--lcc-muted) !important; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:.7;}
.lcc-teaser-x:hover{opacity:1; background:var(--lcc-rule) !important; color:var(--lcc-ink) !important;}

/* bubble */
.lcc-bubble{position:relative; width:60px; height:60px; padding:0; border-radius:50%; background:var(--lcc-black); color:#fff; border:2px solid var(--lcc-yellow); box-shadow:var(--lcc-shadow); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .2s, background .2s;}
.lcc-bubble:hover{background:var(--lcc-black-soft); transform:scale(1.05);}
.lcc-dot{position:absolute; top:3px; right:3px; width:13px; height:13px; border-radius:50%; background:var(--lcc-yellow); border:2px solid var(--lcc-black); animation:lcc-pulse 2s infinite;}
@keyframes lcc-pulse{0%{box-shadow:0 0 0 0 rgba(195,54,29,.6);}70%{box-shadow:0 0 0 10px rgba(195,54,29,0);}100%{box-shadow:0 0 0 0 rgba(195,54,29,0);}}

/* panel */
.lcc-panel{position:absolute; right:0; bottom:0; width:380px; max-width:calc(100vw - 24px); height:580px; max-height:calc(100vh - 24px); background:var(--lcc-paper); border-radius:18px; box-shadow:var(--lcc-shadow); display:flex; flex-direction:column; overflow:hidden;}
.lcc-head{background:var(--lcc-black); color:#fff; padding:15px 16px 15px 18px; display:flex; justify-content:space-between; align-items:center; border-bottom:3px solid var(--lcc-yellow);}
.lcc-title{font-family:'Plus Jakarta Sans',system-ui,sans-serif; font-size:16px; font-weight:700; letter-spacing:.01em;}
.lcc-title span{font-weight:400; font-size:13px; opacity:.7; margin-left:6px;}
.lcc-status{font-size:12px; opacity:.8; margin-top:3px; display:flex; align-items:center; gap:6px;}
.lcc-live{width:7px; height:7px; border-radius:50%; background:#bcd1ca; box-shadow:0 0 6px rgba(188,209,202,.9);}
.lcc-head-btns{display:flex; gap:2px;}
.lcc-min,.lcc-close{background:transparent !important; border:0; color:#fff !important; padding:6px; border-radius:6px; opacity:.75; cursor:pointer; display:flex; line-height:1;}
.lcc-min:hover,.lcc-close:hover,.lcc-min:focus-visible,.lcc-close:focus-visible{opacity:1; background:rgba(255,255,255,.12) !important; outline:none;}

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

.lcc-ctas{display:flex; gap:8px; padding:10px 12px; border-top:1px solid var(--lcc-rule); background:var(--lcc-paper);}
.lcc-cta{flex:1 1 0; text-align:center; padding:9px 8px; border-radius:var(--lcc-r); border:1.5px solid var(--lcc-black); color:var(--lcc-black) !important; background:transparent; text-decoration:none !important; font-family:'Plus Jakarta Sans',system-ui,sans-serif; font-weight:700; font-size:12.5px; line-height:1.25; text-transform:uppercase; letter-spacing:.04em; transition:background .15s;}
.lcc-cta:hover,.lcc-cta:focus-visible{background:rgba(11,26,48,.06); outline:none;}
.lcc-cta--main{background:var(--lcc-yellow); border-color:var(--lcc-yellow); color:var(--lcc-black) !important;}
.lcc-cta--main:hover,.lcc-cta--main:focus-visible{background:var(--lcc-yellow-soft);}

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

@media (max-width:480px){
  .lcc{right:12px; bottom:12px;}
  .lcc-panel{width:calc(100vw - 24px); height:min(580px, calc(100vh - 80px));}
  .lcc-teaser{width:calc(100vw - 24px);}
  .lcc-msg{font-size:16px;}
  .lcc-cta{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .lcc-teaser,.lcc-dot,.lcc-typing span{animation:none;}
}
.lcc-foot a{color:var(--lcc-ink) !important; text-decoration:underline;}

/* 1.0.1 — the theme's link styles were enlarging the buttons and the Privacy link. */
#lcc .lcc-cta{display:flex !important; align-items:center; justify-content:center; min-height:40px; margin:0; padding:9px 8px !important; font-family:'Plus Jakarta Sans',system-ui,sans-serif !important; font-size:13px !important; font-weight:700 !important; line-height:1.2 !important; letter-spacing:.04em !important; text-transform:uppercase !important; text-decoration:none !important; box-shadow:none;}
#lcc .lcc-foot,#lcc .lcc-foot a{font-family:'Plus Jakarta Sans',system-ui,sans-serif !important; font-size:11px !important; font-weight:400 !important; line-height:1.4 !important; letter-spacing:0 !important; text-transform:none !important;}
#lcc .lcc-foot a{display:inline; padding:0; margin:0;}

/* 2.0.6: the avatar is the LPC mark, not a letter. */
.lcc-avatar{background:#fff; border:1px solid #DCE3EB; overflow:hidden;}
.lcc-avatar img{width:26px; height:26px; display:block;}
