/* SK LiveChat — visitor widget */
.sk-lc-bubble{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;
  background:var(--sk-color,#1a73e8);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:2147483000;transition:transform .15s ease;}
.sk-lc-bubble:hover{transform:scale(1.06);}
.sk-lc-bubble svg{width:28px;height:28px;fill:#fff;}
.sk-lc-badge{position:absolute;top:-4px;right:-4px;background:#e53935;color:#fff;border-radius:50%;
  min-width:20px;height:20px;font:700 12px/20px system-ui,sans-serif;text-align:center;padding:0 5px;display:none;}

.sk-lc-panel{position:fixed;bottom:90px;right:20px;width:360px;max-width:calc(100vw - 32px);height:520px;
  max-height:calc(100vh - 120px);background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.28);
  z-index:2147483000;display:none;flex-direction:column;overflow:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
.sk-lc-panel.sk-open{display:flex;}

.sk-lc-head{background:var(--sk-color,#1a73e8);color:#fff;padding:16px;}
.sk-lc-head h3{margin:0;font-size:16px;font-weight:600;}
.sk-lc-head p{margin:4px 0 0;font-size:12px;opacity:.85;}
.sk-lc-close{position:absolute;top:14px;right:14px;cursor:pointer;font-size:20px;line-height:1;color:#fff;opacity:.85;}
.sk-lc-close:hover{opacity:1;}

.sk-lc-body{flex:1;overflow-y:auto;padding:14px;background:#f7f8fa;display:flex;flex-direction:column;gap:8px;}
.sk-lc-msg{max-width:80%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.4;word-wrap:break-word;}
.sk-lc-msg.sk-in{align-self:flex-start;background:#fff;color:#1a1a1a;border:1px solid #e6e8eb;border-bottom-left-radius:4px;}
.sk-lc-msg.sk-out{align-self:flex-end;background:var(--sk-color,#1a73e8);color:#fff;border-bottom-right-radius:4px;}
.sk-lc-msg.sk-lc-typing{display:inline-flex;align-items:center;gap:5px;padding:11px 13px;}
.sk-lc-typing .sk-lc-dot{width:7px;height:7px;border-radius:50%;background:#9aa0a6;display:inline-block;animation:sk-lc-blink 1.4s infinite both;}
.sk-lc-typing .sk-lc-dot:nth-child(2){animation-delay:.2s;}
.sk-lc-typing .sk-lc-dot:nth-child(3){animation-delay:.4s;}
@keyframes sk-lc-blink{0%,80%,100%{opacity:.3;transform:translateY(0);}40%{opacity:1;transform:translateY(-3px);}}
.sk-lc-msg a{color:inherit;text-decoration:underline;}

.sk-lc-form{padding:10px;border-top:1px solid #e6e8eb;background:#fff;}
.sk-lc-form input,.sk-lc-form textarea{width:100%;box-sizing:border-box;border:1px solid #d5d8dc;border-radius:8px;
  padding:9px 11px;font-size:14px;margin-bottom:8px;font-family:inherit;}
.sk-lc-form button{width:100%;background:var(--sk-color,#1a73e8);color:#fff;border:0;border-radius:8px;
  padding:10px;font-size:14px;font-weight:600;cursor:pointer;}
.sk-lc-form button:hover{filter:brightness(1.05);}

.sk-lc-compose{display:flex;gap:8px;padding:10px;border-top:1px solid #e6e8eb;background:#fff;align-items:center;}
.sk-lc-compose input[type=text]{flex:1;border:1px solid #d5d8dc;border-radius:20px;padding:9px 14px;font-size:14px;}
/* High-specificity + !important so the host theme's global button styles cannot
   inflate or restyle the send button. */
.sk-lc-panel .sk-lc-compose button#sk-send{
  -webkit-appearance:none!important;appearance:none!important;
  background:var(--sk-color,#1a73e8)!important;color:#fff!important;border:0!important;outline:0!important;
  border-radius:50%!important;
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;
  padding:0!important;margin:0!important;box-shadow:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 40px!important;
  font-size:16px!important;line-height:1!important;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;
  cursor:pointer;}
.sk-lc-panel .sk-lc-compose button#sk-send:hover{filter:brightness(1.07);}
.sk-lc-typing{font-size:12px;color:#8a9099;padding:0 14px 6px;}
.sk-lc-foot{text-align:center;font-size:11px;color:#aeb4bb;padding:6px;background:#fff;}

/* Teaser bubble (pre-open trigger) */
.sk-lc-teaser{position:fixed;bottom:34px;right:92px;max-width:220px;background:#fff;color:#1a1a1a;
  padding:12px 16px;border-radius:14px;box-shadow:0 6px 20px rgba(0,0,0,.18);font:500 14px/1.35 system-ui,sans-serif;
  cursor:pointer;z-index:2147483000;}
.sk-lc-teaser:after{content:"";position:absolute;bottom:14px;right:-7px;border:7px solid transparent;
  border-left-color:#fff;border-right:0;}

/* Quick-reply choice buttons */
.sk-lc-choices{padding:10px;border-top:1px solid #e6e8eb;background:#fff;display:flex;flex-direction:column;gap:8px;}
.sk-lc-choice{width:100%;background:#fff;color:var(--sk-color,#1a73e8);border:1px solid var(--sk-color,#1a73e8);
  border-radius:10px;padding:11px;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease;}
.sk-lc-choice:hover{background:var(--sk-color,#1a73e8);color:#fff;}

/* ---------------- Responsive ---------------- */
/* Tablet / small laptop: keep floating, cap width to viewport. */
@media (max-width:820px){
  .sk-lc-panel{width:min(400px,calc(100vw - 24px));height:min(560px,calc(100vh - 108px));}
}

/* Phone: full-screen chat so it is usable on any handset. */
@media (max-width:520px){
  .sk-lc-panel{
    inset:0;top:0;left:0;right:0;bottom:0;
    width:100%;max-width:100%;
    height:100vh;height:100dvh;max-height:none;
    border-radius:0;
  }
  .sk-lc-bubble{bottom:16px;right:16px;width:56px;height:56px;}
  .sk-lc-teaser{right:80px;bottom:24px;max-width:150px;font-size:13px;padding:10px 13px;}
  /* Respect notches / home indicators. */
  .sk-lc-head{padding-top:calc(16px + env(safe-area-inset-top));}
  .sk-lc-foot{padding-bottom:calc(6px + env(safe-area-inset-bottom));}
  /* 16px inputs stop iOS Safari from auto-zooming on focus. */
  .sk-lc-compose input[type=text],
  .sk-lc-form input,
  .sk-lc-form textarea,
  .sk-lc-choice{font-size:16px;}
}

/* Landscape phones: shorter screens — keep the composer reachable. */
@media (max-height:480px) and (max-width:900px){
  .sk-lc-panel{height:100vh;height:100dvh;inset:0;width:100%;max-width:100%;border-radius:0;}
}
