/* GRASSY PAVERS chat widget — Dirty Monkey Charters look & feel, grass-paver palette.
   Ink header (#172018), green primary (#5f8f3f), light gray chat log. */
.gpw-window[hidden],.gpw-row[hidden],.gpw-fab-wrap[hidden]{display:none!important}
.gpw-i4{width:16px;height:16px}
.gpw-i5{width:20px;height:20px}
.gpw-i7{width:28px;height:28px}

/* ---------- Floating button + badge ---------- */
.gpw-fab-wrap{position:fixed;bottom:24px;right:24px;z-index:2147483000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.gpw-badge{background:#172018;color:#fff;font:600 12px/1.3 'Inter','Open Sans',Arial,sans-serif;border-radius:999px;padding:8px 16px;box-shadow:0 10px 25px rgba(0,0,0,.18);opacity:1;transition:opacity .5s ease;animation:gpwFadeIn .4s ease}
.gpw-badge-hide{opacity:0;pointer-events:none}
.gpw-fab{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:0;border-radius:50%;background:#5f8f3f;color:#fff;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.22);transition:transform .18s ease,background .18s ease}
.gpw-fab:hover{transform:scale(1.1);background:#6fa14a}
.gpw-fab:focus-visible{outline:2px solid #5f8f3f;outline-offset:2px}
.gpw-ping{position:absolute;inset:0;border-radius:50%;background:#5f8f3f;opacity:.25;animation:gpwPing 1.2s cubic-bezier(0,0,.2,1) infinite}
@keyframes gpwPing{75%,100%{transform:scale(1.8);opacity:0}}
@keyframes gpwFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- Chat window ---------- */
.gpw-window{position:fixed;bottom:0;right:0;z-index:2147483001;display:flex;flex-direction:column;width:100%;height:100dvh;background:#fff;box-shadow:0 25px 60px rgba(0,0,0,.30);overflow:hidden;animation:gpwOpen .22s ease}
@media(min-width:640px){.gpw-window{bottom:24px;right:24px;width:380px;height:500px;border-radius:16px}}
@keyframes gpwOpen{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

/* ---------- Header ---------- */
.gpw-head{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#172018;padding:12px 16px;flex-shrink:0}
.gpw-head-text{flex:1;min-width:0}
.gpw-head h3{margin:0;color:#fff;font:600 14px/1.25 'Inter','Open Sans',Arial,sans-serif}
.gpw-head p{margin:2px 0 0;color:#cfe3c0;opacity:.85;font:400 12px/1.3 'Inter','Open Sans',Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gpw-head-actions{display:flex;align-items:center;gap:4px}
.gpw-tts,.gpw-close{display:flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:10px;padding:7px;cursor:pointer;transition:background .15s ease,color .15s ease}
.gpw-tts{color:rgba(255,255,255,.4)}
.gpw-tts.gpw-tts-on{color:#a8cf5a}
.gpw-tts:hover,.gpw-close:hover{background:rgba(255,255,255,.1)}
.gpw-close{color:rgba(255,255,255,.7)}
.gpw-close:hover{color:#fff}

/* ---------- Messages ---------- */
.gpw-log{flex:1;overflow-y:auto;background:#f7f7f4;padding:16px;display:flex;flex-direction:column;gap:12px}
.gpw-row{display:flex}
.gpw-row-bot{justify-content:flex-start}
.gpw-row-user{justify-content:flex-end}
.gpw-bubble{max-width:85%;border-radius:16px;padding:10px 16px;font:400 14px/1.55 'Inter','Open Sans',Arial,sans-serif;white-space:pre-wrap;word-wrap:break-word}
.gpw-bubble-bot{background:#fff;color:#1f2937;border:1px solid #f0f0ea;border-bottom-left-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.gpw-bubble-user{background:#5f8f3f;color:#fff;border-bottom-right-radius:6px}

/* Typing indicator */
.gpw-typing{display:flex;align-items:center;gap:4px;padding:14px 16px}
.gpw-typing span{width:8px;height:8px;border-radius:50%;background:#9ca3af;animation:gpwBounce 1s infinite}
.gpw-typing span:nth-child(2){animation-delay:.15s}
.gpw-typing span:nth-child(3){animation-delay:.3s}
@keyframes gpwBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* ---------- Inline lead form ---------- */
.gpw-lead-wrap{margin-top:6px;max-width:85%}
.gpw-lead{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:10px}
.gpw-lead-title{margin:0;font:700 11px/1.2 'Inter','Open Sans',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#172018}
.gpw-lead input,.gpw-lead select{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:8px 12px;font:400 14px 'Inter','Open Sans',Arial,sans-serif;background:#fff;color:#111827;outline:none;box-sizing:border-box}
.gpw-lead input:focus,.gpw-lead select:focus{border-color:#5f8f3f;box-shadow:0 0 0 1px #5f8f3f}
.gpw-lead button{width:100%;border:0;border-radius:10px;background:#5f8f3f;color:#fff;padding:9px 16px;font:600 14px 'Inter','Open Sans',Arial,sans-serif;cursor:pointer;transition:background .15s ease}
.gpw-lead button:hover{background:#6fa14a}
.gpw-lead button:disabled{opacity:.5;cursor:default}
.gpw-lead-error{margin:0;font:400 12px 'Inter','Open Sans',Arial,sans-serif;color:#dc2626}
.gpw-lead-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:16px}
.gpw-lead-success p{margin:0;font:600 14px 'Inter','Open Sans',Arial,sans-serif;color:#166534}

/* ---------- Input bar ---------- */
.gpw-inputbar{display:flex;align-items:center;gap:8px;background:#fff;border-top:1px solid #e5e7eb;padding:12px;flex-shrink:0}
.gpw-mic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:0;border-radius:50%;background:#f3f4f6;color:#6b7280;cursor:pointer;transition:all .15s ease}
.gpw-mic:hover{background:#e5e7eb;color:#374151}
.gpw-mic.gpw-listening{background:#ef4444;color:#fff;animation:gpwPulse 1.1s infinite;box-shadow:0 8px 20px rgba(239,68,68,.3)}
@keyframes gpwPulse{50%{transform:scale(1.06)}}
.gpw-input{flex:1;min-width:0;border:1px solid #d1d5db;border-radius:999px;background:#f9fafb;padding:10px 16px;font:400 14px 'Inter','Open Sans',Arial,sans-serif;color:#111827;outline:none}
.gpw-input:focus{border-color:#5f8f3f;box-shadow:0 0 0 1px #5f8f3f}
.gpw-input:disabled{opacity:.5}
.gpw-send{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:0;border-radius:50%;background:#5f8f3f;color:#fff;cursor:pointer;transition:background .15s ease}
.gpw-send:hover{background:#6fa14a}
.gpw-send:disabled{opacity:.4;cursor:default}
.gpw-send:disabled:hover{background:#5f8f3f}
