/* PS Construction LLC chatbot — brand-matched charcoal + construction yellow */
.jc-root{position:fixed;right:20px;bottom:20px;z-index:9999;font-family:Arial,Helvetica,sans-serif;color:#1f242b}
.jc-launcher{display:inline-flex;align-items:center;gap:10px;background:#222831;color:#fff;border:0;padding:14px 20px 14px 18px;border-radius:999px;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 18px 38px rgba(34,40,49,.32);position:relative;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.jc-launcher:hover{transform:translateY(-2px);background:#363d47;box-shadow:0 22px 46px rgba(34,40,49,.4)}
.jc-launcher-icon{font-size:20px;line-height:1}
.jc-launcher-text{letter-spacing:.02em}
.jc-launcher-pulse{position:absolute;top:8px;right:10px;width:10px;height:10px;border-radius:50%;background:#f6b51e;box-shadow:0 0 0 0 rgba(246,181,30,.7);animation:jcPulse 1.6s infinite}
@keyframes jcPulse{0%{box-shadow:0 0 0 0 rgba(246,181,30,.7)}70%{box-shadow:0 0 0 14px rgba(246,181,30,0)}100%{box-shadow:0 0 0 0 rgba(246,181,30,0)}}
.jc-launcher-attention{animation:jcShake 1.8s 2}
@keyframes jcShake{0%,100%{transform:translateY(0)}25%{transform:translateY(-3px) rotate(-1deg)}75%{transform:translateY(-3px) rotate(1deg)}}

.jc-panel{position:absolute;right:0;bottom:72px;width:380px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 110px);background:#fff;border-radius:22px;box-shadow:0 28px 64px rgba(34,40,49,.28);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px) scale(.98);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.jc-open .jc-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}

.jc-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#222831,#bf7d2c);color:#fff}
.jc-header-meta{display:flex;align-items:center;gap:10px}
.jc-header strong{display:block;font-size:15px;line-height:1.1}
.jc-header small{display:block;color:#d7d3c9;font-size:12px;margin-top:2px}
.jc-avatar{width:38px;height:38px;border-radius:50%;background:#f6b51e;color:#222831;display:grid;place-items:center;font-size:18px}
.jc-close{background:rgba(255,255,255,.18);color:#fff;border:0;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;transition:background-color .15s ease}
.jc-close:hover{background:rgba(255,255,255,.35)}

.jc-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:#f3f1ec;scroll-behavior:smooth}
.jc-msg{max-width:84%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45;word-wrap:break-word;animation:jcFadeIn .25s ease}
.jc-msg-assistant{align-self:flex-start;background:#fff;color:#1f242b;border:1px solid #e2ded6;border-bottom-left-radius:6px}
.jc-msg-user{align-self:flex-end;background:#222831;color:#fff;border-bottom-right-radius:6px}
.jc-msg strong{font-weight:800}
@keyframes jcFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.jc-typing{display:inline-flex;gap:4px;padding:14px}
.jc-dot{width:8px;height:8px;border-radius:50%;background:#222831;opacity:.45;animation:jcDot 1s infinite}
.jc-dot:nth-child(2){animation-delay:.18s}
.jc-dot:nth-child(3){animation-delay:.36s}
@keyframes jcDot{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-4px);opacity:1}}

.jc-quick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#fff;border-top:1px solid #e8e4db}
.jc-quick-btn{background:#f3f1ec;border:1px solid #e2ded6;color:#222831;border-radius:999px;padding:8px 12px;font-size:12.5px;font-weight:700;cursor:pointer;transition:background-color .15s ease,transform .12s ease,border-color .15s ease}
.jc-quick-btn:hover{background:#222831;color:#fff;border-color:#222831;transform:translateY(-1px)}

.jc-input-row{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;background:#fff;border-top:1px solid #e8e4db}
.jc-input{flex:1;min-height:42px;max-height:120px;resize:none;border:1px solid #e2ded6;border-radius:14px;padding:10px 12px;font:inherit;font-size:14px;color:#1f242b;background:#fffdf8;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.jc-input:focus{border-color:#bf7d2c;box-shadow:0 0 0 4px rgba(191,125,44,.14)}
.jc-send{background:#d4541e;color:#fff;border:0;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:16px;display:grid;place-items:center;transition:background-color .15s ease,transform .12s ease}
.jc-send:hover{background:#222831;transform:translateY(-1px)}
.jc-send:disabled{opacity:.55;cursor:wait}

.jc-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px 12px;background:#fff;font-size:12px;color:#5d6670}
.jc-footer a{color:#222831;font-weight:800;text-decoration:none}
.jc-footer a:hover{color:#d4541e}

@media(max-width:520px){
  .jc-root{right:12px;bottom:12px}
  .jc-panel{position:fixed;left:0;right:0;bottom:0;top:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0}
  .jc-launcher-text{display:none}
  .jc-launcher{padding:14px;border-radius:50%;width:56px;height:56px;justify-content:center}
}

@media(prefers-reduced-motion:reduce){
  .jc-launcher-pulse,.jc-launcher-attention,.jc-msg,.jc-dot{animation:none!important}
  .jc-panel{transition:opacity .12s ease}
}
