/* Live chat window (Request 12, lib/chat_widget.php + assets/js/chat.js).
   Colours come from the active theme (--c-primary-*, --c-secondary-*, --c-neutral-*). */
.sc-root{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;color:rgb(var(--c-neutral-900))}
.sc-root[hidden]{display:none}
/* the visitor counter moves up so both buttons fit */
body.has-sc .sv-root{bottom:5.25rem}
.sc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.sc-launch{position:relative;display:inline-flex;align-items:center;gap:.55rem;height:3.25rem;padding:0 1.25rem 0 1.05rem;border:0;border-radius:9999px;background:rgb(var(--c-primary-900));color:#fff;font-weight:800;font-size:.9rem;box-shadow:0 14px 30px -10px rgb(var(--c-primary-900)/.65);cursor:pointer;transition:transform .15s,background-color .15s}
.sc-launch:hover{background:rgb(var(--c-primary-800))}
.sc-launch:active{transform:scale(.96)}
.sc-launch-i{font-size:1.15rem;color:rgb(var(--c-secondary-400))}
.sc-badge{position:absolute;top:-.3rem;right:-.3rem;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:9999px;background:rgb(var(--c-secondary-800));color:#fff;font-size:.72rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}
.sc-badge[hidden]{display:none}
.sc-root.is-open .sc-launch{display:none}
.sc-launch:focus-visible,.sc-icon-btn:focus-visible,.sc-primary:focus-visible,.sc-send:focus-visible,.sc-link:focus-visible,.sc-retry:focus-visible{outline:3px solid rgb(var(--c-secondary-500));outline-offset:2px}

.sc-panel{position:absolute;right:0;bottom:0;width:23rem;max-width:calc(100vw - 2.5rem);height:min(36rem,calc(100vh - 2.5rem));display:flex;flex-direction:column;background:#fff;border:1px solid rgb(var(--c-neutral-200));border-radius:1.25rem;box-shadow:0 30px 60px -15px rgb(var(--c-primary-900)/.45);overflow:hidden}
.sc-panel[hidden]{display:none}
.sc-head{display:flex;align-items:center;gap:.7rem;padding:.85rem .9rem;background:rgb(var(--c-primary-900));color:#fff}
.sc-avatar{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:9999px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;color:rgb(var(--c-primary-900))}
.sc-avatar img{width:100%;height:100%;object-fit:contain;padding:.25rem}
.sc-head-t{min-width:0;flex:1}
.sc-title{margin:0;font-size:.95rem;font-weight:900;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.sc-status{margin:.15rem 0 0;display:flex;align-items:center;gap:.4rem;font-size:.72rem;line-height:1.3;color:rgb(255 255 255/.85)}
.sc-dot{flex:0 0 auto;width:.5rem;height:.5rem;border-radius:9999px;background:rgb(var(--c-neutral-400))}
.sc-root.is-online .sc-dot{background:#34d399;box-shadow:0 0 0 3px rgb(52 211 153/.25)}
.sc-icon-btn{flex:0 0 auto;width:2.25rem;height:2.25rem;border-radius:9999px;border:0;background:rgb(255 255 255/.12);color:#fff;cursor:pointer}
.sc-icon-btn:hover{background:rgb(255 255 255/.22)}
.sc-conn{padding:.4rem .9rem;font-size:.72rem;font-weight:700;background:rgb(var(--c-secondary-50));color:rgb(var(--c-secondary-900));border-bottom:1px solid rgb(var(--c-secondary-200))}
.sc-conn[hidden]{display:none}

.sc-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.9rem .9rem .4rem;background:rgb(var(--c-neutral-50))}
.sc-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.sc-msg{display:flex;flex-direction:column;max-width:85%}
.sc-msg-v{align-self:flex-end;align-items:flex-end}
.sc-msg-t,.sc-msg-w{align-self:flex-start;align-items:flex-start}
.sc-msg-s{align-self:center;max-width:95%}
.sc-bubble{padding:.55rem .8rem;border-radius:1rem;font-size:.86rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.sc-msg-v .sc-bubble{background:rgb(var(--c-primary-900));color:#fff;border-bottom-right-radius:.3rem}
.sc-msg-t .sc-bubble,.sc-msg-w .sc-bubble{background:#fff;color:rgb(var(--c-neutral-900));border:1px solid rgb(var(--c-neutral-200));border-bottom-left-radius:.3rem}
.sc-msg-t .sc-bubble a{color:rgb(var(--c-primary-700));font-weight:700;text-decoration:underline}
.sc-msg-s .sc-bubble{background:transparent;color:rgb(var(--c-neutral-600));font-size:.74rem;text-align:center;padding:.2rem .4rem}
.sc-meta{margin-top:.15rem;font-size:.66rem;color:rgb(var(--c-neutral-500));display:flex;gap:.35rem;align-items:center}
.sc-who{font-weight:800;color:rgb(var(--c-primary-800))}
.sc-msg.is-sending .sc-bubble{opacity:.65}
.sc-msg.is-failed .sc-bubble{background:rgb(254 226 226);color:rgb(127 29 29);border:1px solid rgb(252 165 165)}
.sc-retry{border:0;background:none;padding:0;color:rgb(185 28 28);font-weight:800;font-size:.68rem;text-decoration:underline;cursor:pointer}

.sc-start,.sc-compose,.sc-ended{border-top:1px solid rgb(var(--c-neutral-200));background:#fff}
.sc-start{padding:.8rem .9rem .9rem;display:flex;flex-direction:column;gap:.55rem;max-height:62%;overflow-y:auto}
.sc-start[hidden],.sc-compose[hidden],.sc-ended[hidden]{display:none}
.sc-row{display:flex;flex-direction:column;gap:.2rem}
.sc-label{font-size:.7rem;font-weight:800;color:rgb(var(--c-neutral-700))}
.sc-input{width:100%;box-sizing:border-box;border:1px solid rgb(var(--c-neutral-300));border-radius:.75rem;padding:.55rem .7rem;font:inherit;font-size:.86rem;color:rgb(var(--c-neutral-900));background:#fff}
.sc-input:focus{outline:none;border-color:rgb(var(--c-primary-600));box-shadow:0 0 0 3px rgb(var(--c-primary-600)/.18)}
.sc-input[aria-invalid="true"]{border-color:rgb(220 38 38)}
.sc-ta{resize:none;line-height:1.4}
.sc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sc-note{margin:0;font-size:.68rem;line-height:1.45;color:rgb(var(--c-neutral-600))}
.sc-note a{color:rgb(var(--c-primary-700));font-weight:700;text-decoration:underline}
.sc-err{margin:0;font-size:.74rem;font-weight:700;color:rgb(185 28 28)}
.sc-err[hidden]{display:none}
.sc-primary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:.8rem;padding:.7rem 1rem;background:rgb(var(--c-secondary-800));color:#fff;font:inherit;font-weight:800;font-size:.86rem;cursor:pointer}
.sc-primary:hover{background:rgb(var(--c-secondary-900))}
.sc-primary:disabled{opacity:.6;cursor:wait}
.sc-compose{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.6rem .7rem .45rem;align-items:end}
.sc-compose .sc-ta{max-height:7.5rem}
.sc-send{width:2.6rem;height:2.6rem;border-radius:9999px;border:0;background:rgb(var(--c-secondary-800));color:#fff;cursor:pointer}
.sc-send:hover{background:rgb(var(--c-secondary-900))}
.sc-send:disabled{opacity:.5;cursor:not-allowed}
.sc-compose-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;min-height:1rem}
.sc-count{font-size:.66rem;color:rgb(var(--c-neutral-500))}
.sc-link{border:0;background:none;padding:.15rem 0;font:inherit;font-size:.7rem;font-weight:700;color:rgb(var(--c-neutral-600));text-decoration:underline;cursor:pointer}
.sc-ended{padding:.9rem;text-align:center;font-size:.82rem;color:rgb(var(--c-neutral-700))}
.sc-ended p{margin:0 0 .6rem}

@media (max-width:640px){
  .sc-root{right:.9rem;bottom:.9rem}
  body.has-sc .sv-root{bottom:4.6rem}
  .sc-launch{height:3rem;padding:0 1rem}
  .sc-launch-l{display:none}
  .sc-root.is-open{inset:0;right:0;bottom:0}
  .sc-root.is-open .sc-panel{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;border-radius:0;border:0}
  .sc-head{padding-top:max(.85rem,env(safe-area-inset-top))}
  .sc-compose,.sc-start,.sc-ended{padding-bottom:max(.6rem,env(safe-area-inset-bottom))}
  .sc-input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.sc-launch{transition:none}}
@media print{.sc-root{display:none}}
