/* Botão flutuante de WhatsApp com balão "Dúvidas?" (todas as páginas do site). */
.wa-float { position: fixed; z-index: 50; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 12px; font-family: 'DM Sans', system-ui, sans-serif; }
.wa-button { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; box-shadow: 0 10px 28px -8px rgba(18, 140, 70, .6), 0 0 0 0 rgba(37, 211, 102, .5); text-decoration: none; transition: transform .15s; animation: wa-pulse 2.6s ease-out infinite; flex: none; }
.wa-button:hover { transform: scale(1.06); }
.wa-button:focus-visible { outline: 3px solid #0c5b43; outline-offset: 3px; }
.wa-button svg { width: 32px; height: 32px; }
.wa-bubble { position: relative; display: flex; align-items: center; gap: 10px; max-width: 250px; padding: 11px 36px 11px 14px; border-radius: 14px; background: #fff; color: #17251e; box-shadow: 0 12px 30px -12px rgba(19, 43, 34, .45); border: 1px solid #e2e7e2; text-decoration: none; font-size: 14px; line-height: 1.35; animation: wa-in .4s ease-out both; }
.wa-bubble::after { content: ""; position: absolute; right: -7px; top: 50%; width: 12px; height: 12px; background: #fff; border-right: 1px solid #e2e7e2; border-top: 1px solid #e2e7e2; transform: translateY(-50%) rotate(45deg); }
.wa-bubble strong { display: block; font-size: 15px; }
.wa-bubble small { color: #5f6d66; }
.wa-close { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border: 0; border-radius: 50%; background: #f0f3f0; color: #5f6d66; font-size: 14px; line-height: 1; cursor: pointer; z-index: 1; }
.wa-close:hover { background: #e2e7e2; }
.wa-float.is-closed .wa-bubble { display: none; }
@keyframes wa-pulse { 0% { box-shadow: 0 10px 28px -8px rgba(18, 140, 70, .6), 0 0 0 0 rgba(37, 211, 102, .45); } 70% { box-shadow: 0 10px 28px -8px rgba(18, 140, 70, .6), 0 0 0 16px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 10px 28px -8px rgba(18, 140, 70, .6), 0 0 0 0 rgba(37, 211, 102, 0); } }
@keyframes wa-in { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
  .wa-float { right: 14px; bottom: 14px; gap: 8px; }
  .wa-button { width: 56px; height: 56px; }
  .wa-bubble { max-width: 190px; padding: 9px 32px 9px 12px; font-size: 13px; }
  .wa-bubble strong { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .wa-button, .wa-bubble { animation: none; } }
@media print { .wa-float { display: none; } }
.wa-bubble a { color: inherit; text-decoration: none; display: block; }
.wa-bubble a::before { content: ""; position: absolute; inset: 0; }
/* Celular: balão compacto, some sozinho; o botão verde fica sempre */
@media (max-width: 600px) { .wa-bubble small { display: none; } .wa-bubble { padding: 8px 32px 8px 12px; } }
