/* Jeenner Tree Services chatbot — brand-matched green + warm yellow */
.jc-root{position:fixed;right:20px;bottom:20px;z-index:9999;font-family:Arial,Helvetica,sans-serif;color:#102323}
.jc-launcher{display:inline-flex;align-items:center;gap:10px;background:#073f3f;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(7,63,63,.32);position:relative;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.jc-launcher:hover{transform:translateY(-2px);background:#0b5c58;box-shadow:0 22px 46px rgba(7,63,63,.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:#d7b45a;box-shadow:0 0 0 0 rgba(215,180,90,.7);animation:jcPulse 1.6s infinite}
@keyframes jcPulse{0%{box-shadow:0 0 0 0 rgba(215,180,90,.7)}70%{box-shadow:0 0 0 14px rgba(215,180,90,0)}100%{box-shadow:0 0 0 0 rgba(215,180,90,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(7,63,63,.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,#073f3f,#14786e);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:#dfeae6;font-size:12px;margin-top:2px}
.jc-avatar{width:38px;height:38px;border-radius:50%;background:#d7b45a;color:#073f3f;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:#f4f1e8;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:#102323;border:1px solid #dce5e0;border-bottom-left-radius:6px}
.jc-msg-user{align-self:flex-end;background:#073f3f;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:#073f3f;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 #e6ede9}
.jc-quick-btn{background:#f4f1e8;border:1px solid #dce5e0;color:#073f3f;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:#073f3f;color:#fff;border-color:#073f3f;transform:translateY(-1px)}

.jc-input-row{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;background:#fff;border-top:1px solid #e6ede9}
.jc-input{flex:1;min-height:42px;max-height:120px;resize:none;border:1px solid #dce5e0;border-radius:14px;padding:10px 12px;font:inherit;font-size:14px;color:#102323;background:#fbfffd;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.jc-input:focus{border-color:#14786e;box-shadow:0 0 0 4px rgba(20,120,110,.14)}
.jc-send{background:#c87935;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:#073f3f;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:#5f6d69}
.jc-footer a{color:#073f3f;font-weight:800;text-decoration:none}
.jc-footer a:hover{color:#c87935}

@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}
}
