/* Blooming Landscape chatbot — brand-matched green */
.jc-root{position:fixed;right:20px;bottom:20px;z-index:9999;font-family:'Inter',Arial,Helvetica,sans-serif;color:#16212b}
.jc-launcher{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#4d836b,#1a4d2e);color:#fff;border:0;padding:14px 20px 14px 18px;border-radius:999px;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 18px 38px rgba(26,77,46,.34);position:relative;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.jc-launcher:hover{transform:translateY(-2px);background:linear-gradient(135deg,#5a9479,#226439);box-shadow:0 22px 46px rgba(26,77,46,.42)}
.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:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:jcPulse 1.6s infinite}
@keyframes jcPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 0 0 14px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,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(26,77,46,.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,#1a4d2e,#0a1a0e);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:#cfe0d6;font-size:12px;margin-top:2px}
.jc-avatar{width:38px;height:38px;border-radius:50%;background:#4d836b;color:#fff;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:#f4f7f5;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:#16212b;border:1px solid #dde7e1;border-bottom-left-radius:6px}
.jc-msg-user{align-self:flex-end;background:#1a4d2e;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:#1a4d2e;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 #e6ebe8}
.jc-quick-btn{background:#eef4f0;border:1px solid #d8e5dd;color:#1a4d2e;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:#1a4d2e;color:#fff;border-color:#1a4d2e;transform:translateY(-1px)}

.jc-input-row{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;background:#fff;border-top:1px solid #e6ebe8}
.jc-input{flex:1;min-height:42px;max-height:120px;resize:none;border:1px solid #dde7e1;border-radius:14px;padding:10px 12px;font:inherit;font-size:14px;color:#16212b;background:#fbfdfc;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.jc-input:focus{border-color:#4d836b;box-shadow:0 0 0 4px rgba(77,131,107,.18)}
.jc-send{background:linear-gradient(135deg,#4d836b,#1a4d2e);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:#0a1a0e;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:#566472}
.jc-footer a{color:#1a4d2e;font-weight:800;text-decoration:none}
.jc-footer a:hover{color:#4d836b}

@media(max-width:900px){
  .jc-root{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:520px){
  .jc-root{right:12px;bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .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}
}
