/* FILTROX BUEIROS V28N — componente global canônico: menu flutuante + Sense.
   Uma única fonte de estilos para todas as páginas. */
#fx-pc-float-v1,.fx-wa-global,[data-fx-wa-global],.whatsapp-float{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.fx28n-global-active{padding-bottom:92px!important}

.fx28f-dock{position:fixed;z-index:2147483000;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(820px,calc(100vw - 24px));height:66px;box-sizing:border-box;padding:12px 8px 7px;display:block;overflow:visible;border:1px solid #dbe5f2;border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 18px 46px rgba(16,38,78,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.fx28f-dock[hidden]{display:none!important}
.fx28f-actions{height:47px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:stretch}
.fx28f-link{height:47px;min-width:0;padding:0 7px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:13px;color:#183154;background:transparent;text-decoration:none;font:760 12.5px/1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;white-space:nowrap;box-sizing:border-box}
.fx28f-link svg{width:18px;height:18px;flex:0 0 auto;color:#173a70}
.fx28f-link:hover{background:#f1f5fb;border-color:#e0e8f4}
.fx28f-contact{background:linear-gradient(135deg,#46e29a,#78edb5);color:#082a31;border-color:rgba(31,178,111,.16);box-shadow:0 9px 22px rgba(48,208,137,.18)}
.fx28f-contact svg{width:20px;height:20px;color:#063d2b}
.fx28f-collapse{position:absolute;left:50%;top:-12px;transform:translateX(-50%);width:42px;height:25px;padding:0;display:grid;place-items:center;border-radius:13px;border:1px solid #cad9ec;background:#fff;color:#164a94;box-shadow:0 6px 16px rgba(17,54,105,.13);cursor:pointer}
.fx28f-collapse svg{width:16px;height:16px}
.fx28f-open{position:fixed;z-index:2147483000;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:44px;height:36px;padding:0;display:grid;place-items:center;border-radius:15px;border:1px solid #cad9ec;background:#fff;color:#164a94;box-shadow:0 10px 26px rgba(17,54,105,.15);cursor:pointer}
.fx28f-open[hidden]{display:none!important}.fx28f-open svg{width:17px;height:17px}

.fx28f-sense{position:fixed;z-index:2147483010;right:16px;bottom:98px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 9px 9px;border:1px solid rgba(23,92,255,.12);border-radius:21px;background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(8,30,77,.18);color:#0d294f;cursor:pointer;min-width:82px}
.fx28f-avatar-ring{position:relative;width:54px;height:54px;border-radius:50%;padding:4px;box-sizing:border-box;background:transparent;animation:none;transform:none;box-shadow:none;isolation:isolate}
.fx28f-avatar-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#175CFF,#00E7A5,#803BFF,#175CFF);animation:fx28nRingOnly 4.2s linear infinite;box-shadow:0 0 18px rgba(23,92,255,.23);z-index:0}
.fx28f-avatar-ring::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff;z-index:1}
.fx28f-avatar{position:relative;z-index:2;width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 24%;display:block;background:#fff;border:2px solid #fff;box-sizing:border-box;transform:none;animation:none}
.fx28f-sense b{font:800 14px/1 Inter,system-ui,sans-serif}
@keyframes fx28nRingOnly{to{transform:rotate(360deg)}}

.fx28f-welcome{position:fixed;z-index:2147483009;right:16px;bottom:188px;width:min(330px,calc(100vw - 34px));padding:14px 42px 14px 14px;border:1px solid rgba(23,92,255,.11);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 16px 36px rgba(8,30,77,.14);color:#344969;font:600 12.5px/1.45 Inter,system-ui,sans-serif;transition:opacity .25s ease,transform .25s ease,visibility .25s}
.fx28f-welcome-text{display:block}
.fx28f-welcome-close{position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid rgba(23,92,255,.10);border-radius:10px;background:#fff;color:#173a70;font:800 18px/1 Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 16px rgba(8,30,77,.08)}
.fx28f-welcome-close:hover{background:#f4f8ff}
.fx28f-welcome.is-hidden{opacity:0;visibility:hidden;transform:translateY(6px)}
.fx28f-backdrop{position:fixed;z-index:2147483020;inset:0;background:rgba(5,17,39,.14);opacity:0;visibility:hidden;transition:.2s}
.fx28f-backdrop.is-open{opacity:1;visibility:visible}
.fx28f-panel{position:fixed;z-index:2147483021;right:20px;bottom:98px;width:min(420px,calc(100vw - 40px));height:min(610px,calc(100dvh - 130px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(26,73,142,.14);border-radius:24px;background:#f8fbff;box-shadow:0 28px 72px rgba(10,31,68,.24);opacity:0;visibility:hidden;transform:translateY(14px) scale(.985);transition:.22s;box-sizing:border-box}
.fx28f-panel.is-open{opacity:1;visibility:visible;transform:none}
.fx28f-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e2eaf5;background:linear-gradient(180deg,#fff,#f4f8fd)}
.fx28f-id{display:flex;align-items:center;gap:11px;min-width:0}.fx28f-id .fx28f-avatar-ring{width:48px;height:48px;padding:3px}.fx28f-id .fx28f-avatar-ring::before{animation:none}.fx28f-id .fx28f-avatar-ring::after{inset:3px}.fx28f-id .fx28f-avatar{width:42px;height:42px}.fx28f-id h2{margin:0;color:#102b54;font:800 17px/1.1 Inter,system-ui,sans-serif}.fx28f-id p{margin:4px 0 0;color:#6b7f9e;font:600 11px/1.25 Inter,system-ui,sans-serif}
.fx28f-close{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid rgba(23,92,255,.10);border-radius:13px;background:#fff;color:#18315c;font-size:25px;cursor:pointer}
.fx28f-messages{flex:1 1 auto;min-height:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#f8fbff,#fff)}
.fx28f-msg{max-width:88%;padding:12px 14px;border-radius:17px;font:600 13px/1.5 Inter,system-ui,sans-serif;white-space:pre-wrap;word-break:break-word}
.fx28f-msg.bot{align-self:flex-start;color:#293b59;background:#fff;border:1px solid rgba(23,92,255,.09);box-shadow:0 7px 18px rgba(14,38,83,.05);border-bottom-left-radius:6px}.fx28f-msg.user{align-self:flex-end;color:#fff;background:linear-gradient(135deg,#175cff,#346fff);box-shadow:0 9px 20px rgba(23,92,255,.18);border-bottom-right-radius:6px}
.fx28f-chips{flex:0 0 auto;display:flex;gap:7px;overflow:auto;padding:0 12px 9px;background:#fff;scrollbar-width:none}.fx28f-chips::-webkit-scrollbar{display:none}.fx28f-chip{flex:0 0 auto;border:1px solid rgba(23,92,255,.11);border-radius:999px;background:#f6f9ff;color:#244575;padding:9px 11px;font:750 11.5px/1 Inter,system-ui,sans-serif;cursor:pointer}
.fx28f-compose{flex:0 0 auto;padding:10px 11px 11px;border-top:1px solid rgba(15,63,146,.08);background:#fff}.fx28f-form{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:end}.fx28f-input{box-sizing:border-box;width:100%;height:48px;min-height:48px;max-height:112px;padding:12px 13px;resize:none;border:1px solid rgba(23,92,255,.14);border-radius:15px;background:#f7faff;color:#11264d;outline:none;font:600 13px/1.4 Inter,system-ui,sans-serif}.fx28f-input:focus{border-color:#175cff;background:#fff;box-shadow:0 0 0 3px rgba(23,92,255,.08)}.fx28f-send{width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:15px;background:linear-gradient(135deg,#3fe696,#77efb1);color:#072943;cursor:pointer}.fx28f-send svg{width:19px;height:19px}.fx28f-note{margin-top:7px;color:#7a8ca6;font:600 10.5px/1.3 Inter,system-ui,sans-serif}


/* V28T — banner discreto Dados da sua cidade */
.fx28t-city-banner{position:fixed;z-index:2147483050;top:max(10px,env(safe-area-inset-top));left:50%;width:min(1040px,calc(100vw - 28px));box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"kicker copy cta";align-items:center;gap:16px;padding:12px 48px 12px 16px;border:1px solid rgba(23,92,255,.13);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 16px 46px rgba(12,37,81,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:translate(-50%,-22px);transition:opacity .52s ease,transform .62s cubic-bezier(.2,.8,.2,1),visibility .52s;color:#183154;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.fx28t-city-banner.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.fx28t-city-kicker{grid-area:kicker;display:flex;align-items:center;gap:7px;white-space:nowrap;color:#175cff;font:850 10.5px/1.1 Inter,system-ui,sans-serif;letter-spacing:.105em}
.fx28t-city-copy{grid-area:copy;min-width:0;display:grid;gap:3px}
.fx28t-city-copy strong{color:#102b54;font:800 14px/1.3 Inter,system-ui,sans-serif}
.fx28t-city-copy span{color:#637894;font:600 11.5px/1.35 Inter,system-ui,sans-serif}
.fx28t-city-cta{grid-area:cta;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 15px;border-radius:12px;background:linear-gradient(135deg,#175cff,#3875ff);box-shadow:0 9px 22px rgba(23,92,255,.20);color:#fff!important;text-decoration:none!important;white-space:nowrap;font:800 11.5px/1 Inter,system-ui,sans-serif}
.fx28t-city-close{position:absolute;right:9px;top:9px;width:29px;height:29px;padding:0;display:grid;place-items:center;border:1px solid rgba(23,92,255,.10);border-radius:10px;background:#fff;color:#173a70;font:800 18px/1 Inter,system-ui,sans-serif;cursor:pointer}
@media(max-width:760px){.fx28t-city-banner{top:max(7px,env(safe-area-inset-top));width:calc(100vw - 16px);grid-template-columns:1fr auto;grid-template-areas:"kicker kicker" "copy copy" "cta cta";gap:7px;padding:11px 40px 11px 12px;border-radius:16px}.fx28t-city-kicker{font-size:9.5px}.fx28t-city-copy strong{font-size:12.5px}.fx28t-city-copy span{font-size:10.8px}.fx28t-city-cta{justify-self:start;min-height:36px;padding:0 13px;font-size:10.8px}.fx28t-city-close{right:7px;top:7px;width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.fx28t-city-banner{transition:none}}

@media(max-width:760px){
 body.fx28n-global-active{padding-bottom:88px!important}
 .fx28f-dock{position:fixed!important;top:auto!important;left:6px!important;right:6px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;transform:none!important;width:auto;height:74px;max-height:74px;min-height:74px;padding:16px 5px 5px;border-radius:20px;display:block;visibility:visible;opacity:1;pointer-events:auto}
 .fx28f-dock[hidden]{display:none!important}.fx28f-actions{height:52px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.fx28f-link{height:52px;padding:5px 1px;gap:4px;flex-direction:column;font-size:9.3px;line-height:1;overflow:hidden}.fx28f-link span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx28f-link svg{width:18px;height:18px}.fx28f-contact{height:52px}.fx28f-collapse{top:-11px;width:40px;height:24px}.fx28f-open{bottom:max(9px,env(safe-area-inset-bottom));width:42px;height:34px;border-radius:999px}.fx28f-sense{right:10px;bottom:calc(100px + env(safe-area-inset-bottom));min-width:76px;padding:7px 8px 8px}.fx28f-avatar-ring{width:50px;height:50px;padding:3px}.fx28f-avatar-ring::after{inset:3px}.fx28f-avatar{width:44px;height:44px}.fx28f-welcome{right:10px;bottom:calc(186px + env(safe-area-inset-bottom));width:min(310px,calc(100vw - 24px));padding:14px 40px 14px 14px;font-size:12px}.fx28f-welcome-close{top:7px;right:7px;width:26px;height:26px;font-size:17px}.fx28f-panel{left:50%;right:auto;bottom:calc(100px + env(safe-area-inset-bottom));width:min(520px,calc(100vw - 28px));height:min(62dvh,610px);max-height:calc(100dvh - 190px);transform:translate(-50%,14px) scale(.985);border-radius:21px}.fx28f-panel.is-open{transform:translateX(-50%)}.fx28f-head{padding:11px 12px}.fx28f-messages{padding:12px}.fx28f-msg{font-size:12.8px;max-width:90%}
}
@media(max-width:390px){.fx28f-dock{left:4px!important;right:4px!important;padding-left:4px;padding-right:4px}.fx28f-link{font-size:8.6px}}
@media(prefers-reduced-motion:reduce){.fx28f-avatar-ring::before{animation:none!important}.fx28f-welcome,.fx28f-backdrop,.fx28f-panel{transition:none}}
