/* FCM Lead Tracker: floating WhatsApp chat button (replaces Chaty). Same spot and size as Chaty: 54 px, right 29 px, bottom 25 px. */
.fcm-wa{--wa-navy:#27328D;--wa-deep:#1e1356;--wa-green:#25D366;--wa-text:#2B3332;--wa-muted:#5b6563;position:fixed;right:29px;bottom:calc(25px + env(safe-area-inset-bottom,0px));z-index:99999;font-family:Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
.fcm-wa *{box-sizing:border-box}
.fcm-wa [hidden]{display:none!important}

.fcm-wa__btn{position:relative;display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-left:auto;border:0;border-radius:50%;padding:0;background:var(--wa-navy);color:#fff;cursor:pointer;box-shadow:0 8px 24px -6px rgba(30,19,86,.55);transition:transform .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent;text-decoration:none}
.fcm-wa__btn:hover{background:var(--wa-deep);transform:translateY(-2px);color:#fff}
.fcm-wa__btn:focus-visible{outline:3px solid rgba(37,211,102,.6);outline-offset:3px}
.fcm-wa__btn::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(39,50,141,.45);animation:fcmWaPulse 2.6s ease-out 1.5s 3}
.fcm-wa__x{display:none;font-size:30px;line-height:1;margin-top:-3px}
.fcm-wa.is-open .fcm-wa__btn svg{display:none}
.fcm-wa.is-open .fcm-wa__x{display:block}
.fcm-wa__dot{position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:var(--wa-green);box-shadow:0 0 0 2px #fff}
.fcm-wa.is-open .fcm-wa__dot{display:none}

.fcm-wa__greet{position:absolute;right:66px;bottom:2px;width:max-content;max-width:260px;display:flex;align-items:flex-start;gap:4px;background:#fff;color:var(--wa-text);border-radius:14px 14px 4px 14px;box-shadow:0 14px 34px -12px rgba(0,0,0,.35);padding:10px 8px 10px 14px;animation:fcmWaIn .35s cubic-bezier(.2,.8,.2,1) both}
.fcm-wa__greet-text{all:unset;cursor:pointer;font-size:14px;color:var(--wa-text)}
.fcm-wa__greet-text b{display:block;color:var(--wa-navy)}
.fcm-wa__greet-x{all:unset;cursor:pointer;width:24px;height:24px;text-align:center;font-size:18px;line-height:24px;color:var(--wa-muted);border-radius:50%}
.fcm-wa__greet-x:hover{background:#f0f2f6}

.fcm-wa__panel{position:absolute;right:0;bottom:68px;width:360px;max-width:calc(100vw - 32px);max-height:min(640px,calc(100vh - 110px));display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.45);animation:fcmWaIn .3s cubic-bezier(.2,.8,.2,1) both}
.fcm-wa__head{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;background:linear-gradient(135deg,var(--wa-deep),var(--wa-navy));color:#fff}
.fcm-wa__avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;position:relative}
.fcm-wa__avatar img{width:32px;height:32px;object-fit:contain}
.fcm-wa__avatar::after{content:"";position:absolute;right:0;bottom:1px;width:11px;height:11px;border-radius:50%;background:#9aa3b5;box-shadow:0 0 0 2px var(--wa-navy)}
.fcm-wa.is-office .fcm-wa__avatar::after{background:var(--wa-green)}
.fcm-wa__who{flex:1;min-width:0}
.fcm-wa__title{margin:0;font-size:16px;font-weight:700;color:#fff}
.fcm-wa__status{margin:0;font-size:12.5px;color:rgba(249,250,251,.8)}
.fcm-wa__close{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;text-align:center;font-size:24px;line-height:34px;color:#fff}
.fcm-wa__close:hover,.fcm-wa__close:focus-visible{background:rgba(255,255,255,.15)}
.fcm-wa__body{padding:16px;overflow-y:auto;background:#f4f6fb}
.fcm-wa__bubble{background:#fff;color:var(--wa-text);font-size:14px;border-radius:4px 14px 14px 14px;padding:10px 12px;box-shadow:0 2px 6px rgba(30,19,86,.08);margin:0 0 14px}
.fcm-wa__label{display:block;margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--wa-muted)}
.fcm-wa__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.fcm-wa__chip{all:unset;cursor:pointer;font-size:13px;font-weight:500;color:var(--wa-navy);background:#fff;border:1px solid #d5dcf0;border-radius:999px;padding:6px 12px;transition:background .15s,border-color .15s}
.fcm-wa__chip:hover,.fcm-wa__chip:focus-visible,.fcm-wa__chip.is-on{background:#eef0fb;border-color:var(--wa-navy)}
.fcm-wa__msg{width:100%;min-height:78px;resize:vertical;border:1px solid #d5dcf0;border-radius:12px;padding:10px 12px;font:inherit;font-size:15px;color:var(--wa-text);background:#fff}
.fcm-wa__msg:focus{outline:none;border-color:var(--wa-navy);box-shadow:0 0 0 3px rgba(39,50,141,.15)}
.fcm-wa__foot{padding:12px 16px 14px;background:#fff;border-top:1px solid #edf0f6}
.fcm-wa__send{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border-radius:0 18px 18px 18px;background:var(--wa-green);color:#06381b!important;font-weight:700;font-size:16px;text-decoration:none!important;box-shadow:0 10px 22px -12px rgba(18,140,74,.9);transition:transform .15s ease,filter .15s ease}
.fcm-wa__send:hover{filter:brightness(1.04);transform:translateY(-1px)}
.fcm-wa__send:focus-visible{outline:3px solid rgba(39,50,141,.5);outline-offset:2px}
.fcm-wa__note{margin:8px 0 0;font-size:12px;color:var(--wa-muted);text-align:center}

.fcm-wa__fields{margin:0 0 12px}
.fcm-wa__intro{margin:0 0 10px;font-size:13.5px;color:var(--wa-text)}
.fcm-wa__row{margin:0 0 10px}
.fcm-wa__row label{display:block;margin:0 0 4px;font-size:13px;font-weight:600;color:var(--wa-text)}
.fcm-wa__req{color:#c62828}
.fcm-wa__opt{font-weight:400;color:var(--wa-muted)}
.fcm-wa__in{width:100%;min-height:44px;border:1px solid #d5dcf0;border-radius:10px;padding:9px 12px;font:inherit;font-size:16px;color:var(--wa-text);background:#fff}
.fcm-wa__in:focus{outline:none;border-color:var(--wa-navy);box-shadow:0 0 0 3px rgba(39,50,141,.15)}
.fcm-wa__in[aria-invalid="true"]{border-color:#c62828;box-shadow:0 0 0 3px rgba(198,40,40,.12)}
.fcm-wa__err{margin:4px 0 0;font-size:12.5px;color:#b71c1c}
.fcm-wa__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fcm-wa__senderr{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#fdecea;color:#b71c1c;font-size:13px}
.fcm-wa__send.is-busy{opacity:.75;cursor:progress;pointer-events:none}
.fcm-wa__privacy{margin:8px 0 0;font-size:12px;color:var(--wa-muted)}
.fcm-wa__privacy a{color:var(--wa-navy)}

@keyframes fcmWaIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fcmWaPulse{0%{box-shadow:0 0 0 0 rgba(39,50,141,.45)}70%{box-shadow:0 0 0 16px rgba(39,50,141,0)}100%{box-shadow:0 0 0 0 rgba(39,50,141,0)}}

@media (max-width:480px){
	.fcm-wa{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
	.fcm-wa__panel{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:auto;max-width:none}
	.fcm-wa__greet{max-width:calc(100vw - 104px)}
}
@media (prefers-reduced-motion:reduce){.fcm-wa *,.fcm-wa *::before{animation:none!important;transition:none!important}}
@media print{.fcm-wa{display:none!important}}

/* One column with the quote-list button (fcm-request-a-quote): same right edge, 12 px gap above the WhatsApp button. */
html body .fcm-quote-floating-link{right:29px;bottom:calc(91px + env(safe-area-inset-bottom,0px))}
@media (max-width:480px){html body .fcm-quote-floating-link{right:16px;bottom:calc(82px + env(safe-area-inset-bottom,0px))}}
