/* FINN Chat Widget */
#finn-bubble{position:fixed;bottom:24px;right:24px;width:64px;height:64px;border-radius:50%;background:#1A2847;border:none;cursor:pointer;box-shadow:0 6px 20px rgba(26,40,71,.25);z-index:9998;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}
#finn-bubble:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(26,40,71,.35)}
#finn-bubble svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2}
#finn-bubble.finn-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #B95000;animation:finn-pulse 2s ease-out infinite;pointer-events:none}
@keyframes finn-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.4);opacity:0}}

#finn-widget{position:fixed;bottom:100px;right:24px;width:380px;height:min(600px,calc(100dvh - 120px));background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(26,40,71,.25);z-index:9998;display:none;flex-direction:column;overflow:hidden;font-family:Barlow,system-ui,sans-serif;border:1px solid #E5E8EF}
#finn-widget.finn-open{display:flex}

.finn-header{background:#1A2847;color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}
.finn-header-title{font-size:16px;font-weight:600;line-height:1.2}
.finn-header-subtitle{font-size:11px;opacity:.7;margin-top:2px;font-weight:400}
.finn-close{background:none;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:8px;opacity:.7;transition:opacity .2s}
.finn-close:hover{opacity:1;background:rgba(255,255,255,.1)}
.finn-close svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}

.finn-body{flex:1;overflow-y:auto;padding:16px;background:#fafafa;display:flex;flex-direction:column;gap:12px}
.finn-consent{display:flex;flex-direction:column;gap:12px;padding:4px}
.finn-consent h3{font-size:15px;font-weight:600;margin:0;color:#1A2847}
.finn-consent p{font-size:13px;line-height:1.5;color:#556070;margin:0}
.finn-consent label{display:flex;gap:8px;font-size:13px;color:#1A2847;cursor:pointer;align-items:flex-start;line-height:1.4}
.finn-consent input[type=checkbox]{margin-top:2px;accent-color:#B95000}
.finn-consent a{color:#B95000;text-decoration:underline}
.finn-consent-btn{background:#B95000;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}
.finn-consent-btn:hover{background:#9A4200}
.finn-consent-btn:disabled{background:#CCC;cursor:not-allowed}

.finn-msg{max-width:82%;padding:10px 14px;border-radius:14px;font-size:14.5px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}
.finn-msg-bot{background:#fff;border:1px solid #E5E8EF;color:#1A2847;align-self:flex-start;border-bottom-left-radius:4px}
.finn-msg-user{background:#1A2847;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.finn-msg-system{background:transparent;border:1px dashed #B95000;color:#556070;font-size:12.5px;align-self:center;max-width:100%;font-style:italic}

.finn-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 14px;background:#fff;border:1px solid #E5E8EF;border-radius:14px;border-bottom-left-radius:4px}
.finn-typing span{width:6px;height:6px;background:#9CA3AF;border-radius:50%;animation:finn-bounce 1.2s infinite ease-in-out}
.finn-typing span:nth-child(2){animation-delay:.15s}
.finn-typing span:nth-child(3){animation-delay:.3s}
@keyframes finn-bounce{0%,80%,100%{transform:scale(.5);opacity:.5}40%{transform:scale(1);opacity:1}}

.finn-input-wrap{border-top:1px solid #E5E8EF;background:#fff;padding:10px 12px;display:flex;gap:8px;align-items:flex-end;flex:0 0 auto}
.finn-input{flex:1;border:1px solid #E5E8EF;border-radius:10px;padding:8px 12px;font-family:inherit;font-size:14.5px;resize:none;max-height:120px;min-height:38px;line-height:1.4;color:#1A2847;background:#fafafa;outline:none;transition:border-color .2s}
.finn-input:focus{border-color:#1A2847;background:#fff}
.finn-input::placeholder{color:#6B7280}
.finn-send{background:#B95000;color:#fff;border:none;width:38px;height:38px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.finn-send:hover{background:#9A4200}
.finn-send:disabled{background:#D1D5DB;cursor:not-allowed}
.finn-send svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}

.finn-lead-card{background:#fff;border:1px solid #E5E8EF;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.finn-lead-card h4{margin:0;font-size:14px;color:#1A2847;font-weight:600}
.finn-lead-card input,.finn-lead-card textarea{border:1px solid #E5E8EF;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;color:#1A2847;outline:none;transition:border-color .2s}
.finn-lead-card input:focus,.finn-lead-card textarea:focus{border-color:#1A2847}
.finn-lead-card textarea{resize:vertical;min-height:60px}
.finn-lead-card label{font-size:12px;color:#556070;display:flex;gap:6px;align-items:flex-start;line-height:1.4}
.finn-lead-card label input{margin-top:2px;accent-color:#B95000}
.finn-lead-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.finn-lead-btn{background:#B95000;color:#fff;border:none;padding:10px 14px;border-radius:8px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.finn-lead-btn:hover{background:#9A4200}
.finn-lead-btn:disabled{background:#CCC;cursor:not-allowed}

.finn-footer-note{font-size:11px;color:#6B7280;text-align:center;padding:4px 8px;background:#fff;border-top:1px solid #E5E8EF}

@media (max-width:600px){
  #finn-widget{bottom:0;right:0;left:0;width:100%;height:85dvh;border-radius:16px 16px 0 0;max-width:100%}
  #finn-bubble{bottom:18px;right:18px}
}

@media (prefers-reduced-motion:reduce){
  .finn-typing span{animation:none}
  #finn-bubble.finn-pulse::after{animation:none;display:none}
}
