/* WhatsApp Fiuza (0.32.2) · botão flutuante + janela. Escopo: .fzw-* */
.fzw-btn,.fzw-dlg,.fzw-ov{--fzw-wa:#25D366;--fzw-green:#0F7F3E;--fzw-navy:#0B2E57;--fzw-ink:#2F2724;--fzw-warm:#60534D;--fzw-line:#DCD3CC;--fzw-cream:#FBF7F4;font-family:"DM Sans",Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;box-sizing:border-box}
.fzw-dlg *,.fzw-dlg *::before,.fzw-dlg *::after{box-sizing:border-box}
.fzw-sr{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;white-space:nowrap !important}

/* ---------- Botão ---------- */
.fzw-btn{position:fixed !important;right:22px;bottom:22px;z-index:99990;display:inline-flex !important;align-items:center;justify-content:center;gap:10px;margin:0 !important;border:0 !important;cursor:pointer;color:#fff !important;text-decoration:none !important;text-transform:none !important;letter-spacing:0 !important;line-height:1 !important;box-shadow:0 8px 24px rgba(10,60,30,.28),0 2px 6px rgba(0,0,0,.14) !important;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),background-color .2s}
.fzw-btn.fzw-l{right:auto;left:22px}
.fzw-btn svg{flex:none;display:block}
.fzw-btn:hover{transform:translateY(-2px) scale(1.03)}
.fzw-btn:active{transform:scale(.97)}
.fzw-btn:focus-visible{outline:3px solid var(--fzw-navy) !important;outline-offset:3px}
.fzw-btn.is-open{opacity:0;pointer-events:none}
/* Só o ícone, como o do RD */
.fzw-btn--icone{width:62px;height:62px;padding:0 !important;border-radius:50% !important;background:var(--fzw-wa) !important}
.fzw-btn--icone .fzw-btn__t{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Ícone + texto (verde mais escuro para o texto branco passar no contraste) */
.fzw-btn--texto{padding:12px 22px 12px 14px !important;border-radius:999px !important;background:var(--fzw-green) !important;font-size:16px !important;font-weight:700 !important}
.fzw-btn--texto:hover{background:#0C6E35 !important}
@media (max-width:767px){
	.fzw-btn{right:16px;bottom:16px}
	.fzw-btn.fzw-l{left:16px}
	.fzw-btn--texto{width:58px;height:58px;padding:0 !important;border-radius:50% !important;background:var(--fzw-wa) !important}
	.fzw-btn--texto .fzw-btn__t{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ---------- Janela ---------- */
.fzw-ov{position:fixed;inset:0;z-index:99991;background:rgba(20,24,34,.35);opacity:0;transition:opacity .25s}
.fzw-ov.is-in{opacity:1}
.fzw-dlg{position:fixed;right:22px;bottom:22px;z-index:99992;width:min(400px,calc(100vw - 32px));max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:#fff;color:var(--fzw-ink);border-radius:18px;box-shadow:0 24px 60px rgba(20,24,34,.3);overflow:hidden;opacity:0;transform:translateY(14px) scale(.98);transform-origin:100% 100%;transition:opacity .26s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}
.fzw-dlg.fzw-l{right:auto;left:22px;transform-origin:0 100%}
.fzw-dlg.is-in{opacity:1;transform:none}
.fzw-dlg[hidden],.fzw-ov[hidden],.fzw-dlg [hidden]{display:none !important}
.fzw-hd{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:18px 18px 18px 22px;background:var(--fzw-navy);color:#fff}
.fzw-t{margin:0 !important;font-size:15.5px !important;line-height:1.45 !important;font-weight:500 !important;color:#fff !important;text-wrap:pretty}
.fzw-s{margin:6px 0 0 !important;font-size:14px !important;line-height:1.45 !important;color:#D6DEE9 !important}
.fzw-x{flex:none;display:grid !important;place-items:center;width:34px;height:34px;margin:-2px -4px 0 0 !important;padding:0 !important;border:0 !important;border-radius:50% !important;background:rgba(255,255,255,.12) !important;color:#fff !important;cursor:pointer}
.fzw-x:hover{background:rgba(255,255,255,.24) !important}
.fzw-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fzw-bd{flex:1;overflow:auto;overscroll-behavior:contain;padding:18px 22px 20px}

/* ---------- Formulário (modelo do Elementor) ---------- */
.fzw-back{display:inline-block !important;margin:-4px 0 6px -6px !important;padding:6px !important;border:0 !important;background:none !important;color:var(--fzw-navy) !important;font:inherit !important;font-size:14px !important;font-weight:700 !important;cursor:pointer}
.fzw-back:hover{text-decoration:underline}
.fzw-logo-w{display:flex;justify-content:center;margin:0 0 14px}
.fzw-logo-w:empty{display:none}
.fzw-logo{display:block;width:auto !important;max-width:150px !important;max-height:64px !important;height:auto !important}
/* O modelo entra sem as margens, fundos e larguras da seção onde foi montado */
.fzw-fw .elementor-section,.fzw-fw .e-con,.fzw-fw .e-con-inner,.fzw-fw .elementor-container,.fzw-fw .elementor-column,.fzw-fw .elementor-widget-wrap,.fzw-fw .elementor-widget-container{padding:0 !important;margin:0 !important;max-width:none !important;width:100% !important;min-height:0 !important;background:none !important;box-shadow:none !important;border:0 !important}
.fzw-fw .elementor-widget:not(:last-child){margin-bottom:12px !important}
.fzw-fw .elementor-field-group{width:100% !important;max-width:100% !important;flex-basis:100% !important}
.fzw-ok{text-align:center;padding:10px 4px 6px}
.fzw-ok p{margin:0 0 16px !important;font-size:16px !important;line-height:1.5 !important;color:var(--fzw-ink) !important}
.fzw-ok__b{display:inline-flex !important;align-items:center;gap:10px;padding:14px 22px !important;border-radius:10px !important;background:var(--fzw-green) !important;color:#fff !important;font-weight:700 !important;text-decoration:none !important}
.fzw-ok__b:hover{background:#0C6E35 !important}

/* ---------- Lista de unidades ---------- */
.fzw-search{display:block;margin:0 0 10px}
.fzw-search input{display:block;width:100% !important;height:46px !important;padding:0 14px !important;border:1px solid var(--fzw-line) !important;border-radius:10px !important;background:var(--fzw-cream) !important;color:var(--fzw-ink) !important;font:inherit !important;font-size:16px !important}
.fzw-search input:focus{outline:none;border-color:var(--fzw-navy) !important;background:#fff !important}
.fzw-list{list-style:none !important;margin:0 !important;padding:0 !important}
.fzw-list li{margin:0 !important;padding:0 !important;list-style:none !important}
.fzw-uf{padding:12px 2px 4px !important;font-size:12px !important;font-weight:700 !important;letter-spacing:.12em;color:var(--fzw-warm) !important}
.fzw-uf:first-child{padding-top:0 !important}
.fzw-u{display:flex !important;align-items:center;gap:12px;width:100%;min-height:50px;margin:0 !important;padding:7px 10px !important;border:0 !important;border-radius:10px !important;background:none !important;color:var(--fzw-ink) !important;font:inherit !important;text-align:left;cursor:pointer;transition:background-color .15s}
.fzw-u:hover,.fzw-u:focus-visible{background:#EEF6F1 !important;outline:none}
.fzw-u__ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#E3F3E9;color:var(--fzw-green)}
.fzw-u__n{flex:1;font-size:16px;font-weight:600;line-height:1.3}
.fzw-u__go{flex:none;font-size:22px;color:#A79A92}
.fzw-empty{margin:16px 0 4px !important;text-align:center;color:var(--fzw-warm) !important;font-size:15px !important}

@media (max-width:767px){
	.fzw-dlg,.fzw-dlg.fzw-l{left:0;right:0;bottom:0;width:100%;max-height:92vh;border-radius:18px 18px 0 0;transform:translateY(24px);padding-bottom:env(safe-area-inset-bottom)}
	.fzw-hd{padding:16px 14px 16px 18px}
	.fzw-bd{padding:16px 18px 18px}
	.fzw-logo{max-height:56px !important}
}
@media (prefers-reduced-motion:reduce){.fzw-btn,.fzw-dlg,.fzw-ov{transition:none !important}}

/* 0.32.3 · Campos do formulário do Elementor no padrão da janela: menores e uniformes,
   independente do estilo dado no Elementor. */
.fzw-fw .elementor-form-fields-wrapper{display:flex !important;flex-wrap:wrap !important;gap:10px !important;margin:0 !important}
.fzw-fw .elementor-field-group{margin:0 !important;padding:0 !important}
.fzw-fw .elementor-field-label{display:block !important;margin:0 0 4px !important;padding:0 !important;font-family:inherit !important;font-size:13px !important;line-height:1.3 !important;font-weight:600 !important;color:var(--fzw-warm) !important;letter-spacing:0 !important;text-transform:none !important}
.fzw-fw .elementor-field-textual,.fzw-fw input.elementor-field,.fzw-fw select.elementor-field,.fzw-fw .elementor-field-group input[type=tel]{display:block !important;width:100% !important;min-height:0 !important;height:44px !important;margin:0 !important;padding:0 12px !important;border:1px solid var(--fzw-line) !important;border-radius:10px !important;background:#fff !important;color:var(--fzw-ink) !important;font-family:inherit !important;font-size:15px !important;line-height:1.2 !important;font-weight:400 !important;box-shadow:none !important;outline:none !important;transition:border-color .15s,box-shadow .15s}
.fzw-fw textarea.elementor-field{display:block !important;width:100% !important;height:76px !important;min-height:76px !important;padding:10px 12px !important;border:1px solid var(--fzw-line) !important;border-radius:10px !important;background:#fff !important;color:var(--fzw-ink) !important;font-family:inherit !important;font-size:15px !important;line-height:1.4 !important;resize:vertical;box-shadow:none !important;outline:none !important}
.fzw-fw .elementor-field::placeholder{color:#9A8F88 !important;opacity:1 !important}
.fzw-fw .elementor-field:focus{border-color:var(--fzw-navy) !important;box-shadow:0 0 0 3px rgba(11,46,87,.14) !important}
.fzw-fw .elementor-field-type-acceptance .elementor-field-subgroup,.fzw-fw .elementor-field-type-checkbox .elementor-field-subgroup{display:block !important;margin:2px 0 0 !important}
.fzw-fw .elementor-field-option{display:flex !important;align-items:flex-start;gap:8px;margin:0 !important}
.fzw-fw .elementor-field-option input{flex:none;width:16px !important;height:16px !important;margin:2px 0 0 !important;accent-color:var(--fzw-navy)}
.fzw-fw .elementor-field-option label,.fzw-fw .elementor-acceptance-field + label{margin:0 !important;padding:0 !important;font-family:inherit !important;font-size:13px !important;line-height:1.4 !important;font-weight:400 !important;color:var(--fzw-warm) !important}
.fzw-fw .elementor-field-type-submit{margin-top:4px !important}
.fzw-fw .elementor-button,.fzw-fw button[type=submit]{display:flex !important;align-items:center;justify-content:center;width:100% !important;height:48px !important;min-height:0 !important;margin:0 !important;padding:0 18px !important;border:0 !important;border-radius:10px !important;background:#CC4A0A !important;color:#fff !important;font-family:inherit !important;font-size:16px !important;line-height:1 !important;font-weight:700 !important;letter-spacing:0 !important;text-transform:none !important;box-shadow:none !important;cursor:pointer;transition:background-color .2s}
.fzw-fw .elementor-button:hover,.fzw-fw button[type=submit]:hover{background:#B03F07 !important}
.fzw-fw .elementor-button:focus-visible{outline:3px solid var(--fzw-navy) !important;outline-offset:2px}
.fzw-fw .elementor-button .elementor-button-content-wrapper{justify-content:center}
.fzw-fw .elementor-message{margin:10px 0 0 !important;font-size:14px !important;line-height:1.4 !important}
.fzw-fw .elementor-error .elementor-field{border-color:#C0392B !important}
.fzw-fw .elementor-message-danger,.fzw-fw .elementor-field-group .elementor-message{color:#9F1D12 !important}
/* Campo de telefone com bandeira (intl-tel-input), se o formulário usar */
.fzw-fw .iti{display:block !important;width:100% !important}
.fzw-fw .iti input{padding-left:52px !important}
.fzw-bd{padding:16px 20px 18px}
/* Rótulo + placeholder dizendo a mesma coisa: fica só o placeholder (o rótulo continua para leitores de tela) */
.fzw-fw .elementor-field-group:has(.elementor-field[placeholder]:not([placeholder=""])) > .elementor-field-label{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;white-space:nowrap !important;margin:0 !important}
.fzw-fw .fzw-hide{display:none !important}
