/* Root-scoped widget styles: no global resets or font imports. */
#wmfb-widget, #wmfb-widget *, #wmfb-widget *::before, #wmfb-widget *::after { box-sizing: border-box !important; }
#wmfb-widget { position: fixed !important; bottom: calc(var(--wmfb-bottom, 20px) + env(safe-area-inset-bottom, 0px)) !important; z-index: 99999; display: flex !important; flex-direction: column !important; align-items: center !important; width: var(--wmfb-size, 58px) !important; margin: 0 !important; padding: 0 !important; font-family: inherit !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.5 !important; text-align: start !important; text-transform: none !important; letter-spacing: normal !important; color: #23303d !important; }
#wmfb-widget.wmfb-derecha { right: var(--wmfb-side, 20px) !important; left: auto !important; }
#wmfb-widget.wmfb-izquierda { left: var(--wmfb-side, 20px) !important; right: auto !important; }
#wmfb-widget[hidden], #wmfb-widget [hidden] { display: none !important; }
#wmfb-widget :is(button, a) { font-family: inherit !important; text-transform: none !important; letter-spacing: normal !important; text-shadow: none !important; text-decoration: none !important; cursor: pointer !important; }
#wmfb-widget :is(button, a)::before, #wmfb-widget :is(button, a)::after { content: none !important; }
#wmfb-widget .wmfb-icon-wrap { width: 100% !important; height: 100% !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; }
#wmfb-widget .wmfb-icon-img { width: 60% !important; height: 60% !important; object-fit: contain !important; max-width: 100% !important; margin: 0 !important; }
#wmfb-widget svg { display: block !important; flex-shrink: 0 !important; max-width: 60% !important; max-height: 60% !important; }
#wmfb-widget .wmfb-fab { width: var(--wmfb-size, 58px) !important; min-width: 44px !important; max-width: none !important; height: var(--wmfb-size, 58px) !important; min-height: 44px !important; border-radius: 50% !important; border: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; background: var(--wmfb-color, #16324a) !important; color: var(--wmfb-text, #fff) !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: 0 4px 16px rgba(0,0,0,.22) !important; position: relative !important; }
#wmfb-widget button.wmfb-fab svg path { fill: var(--wmfb-text, #fff); }
#wmfb-widget .wmfb-cerrar, #wmfb-widget .wmfb-burbuja-cerrar { position: absolute !important; width: 28px !important; min-width: 28px !important; max-width: 28px !important; height: 28px !important; min-height: 28px !important; border-radius: 50% !important; background: #fff !important; border: 1px solid #dcdcde !important; padding: 0 !important; margin: 0 !important; color: #50575e !important; font-size: 20px !important; font-weight: 400 !important; line-height: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 2; }
#wmfb-widget .wmfb-cerrar { bottom: calc(var(--wmfb-size, 58px) - 16px) !important; top: auto !important; right: -6px !important; }
#wmfb-widget .wmfb-opciones { position: absolute !important; bottom: calc(var(--wmfb-size, 58px) + 14px) !important; display: flex !important; flex-direction: column !important; gap: 8px !important; width: 270px !important; max-width: calc(100vw - var(--wmfb-side, 20px) - 16px) !important; max-height: calc(100dvh - var(--wmfb-bottom, 20px) - var(--wmfb-size, 58px) - 40px) !important; overflow-y: auto !important; padding: 16px !important; background: #fff !important; border: 1px solid #dcdcde !important; border-radius: 12px !important; }
#wmfb-widget.wmfb-derecha .wmfb-opciones, #wmfb-widget.wmfb-derecha .wmfb-burbuja { right: 0 !important; }
#wmfb-widget.wmfb-izquierda .wmfb-opciones, #wmfb-widget.wmfb-izquierda .wmfb-burbuja { left: 0 !important; }
#wmfb-widget .wmfb-panel-title { font: inherit !important; font-size: 14px !important; font-weight: 600 !important; color: #16324a !important; margin: 0 0 6px !important; }
#wmfb-widget .wmfb-canal { width: 100% !important; min-height: 44px !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 10px !important; margin: 0 !important; padding: 4px !important; border: 0 !important; border-radius: 6px !important; background: #fff !important; color: #23303d !important; font-size: 14px !important; line-height: 1.4 !important; box-shadow: none !important; }
#wmfb-widget .wmfb-canal .wmfb-icon-wrap { flex: 0 0 36px !important; width: 36px !important; height: 36px !important; }
#wmfb-widget .wmfb-canal-nombre { min-width: 0 !important; overflow-wrap: anywhere; }
#wmfb-widget .wmfb-canal:hover { background: #f0f0f1 !important; }
#wmfb-widget .wmfb-burbuja { position: absolute !important; bottom: calc(var(--wmfb-size, 58px) + 14px) !important; width: 260px !important; max-width: calc(100vw - var(--wmfb-side, 20px) - 16px) !important; background: #fff !important; border-radius: 12px !important; padding: 14px 40px 14px 16px !important; box-shadow: 0 6px 20px rgba(0,0,0,.18) !important; font-size: 14px !important; color: #23303d !important; }
#wmfb-widget .wmfb-burbuja p { margin: 0 !important; padding: 0 !important; font: inherit !important; color: inherit !important; }
#wmfb-widget .wmfb-burbuja-cerrar { top: 6px !important; right: 6px !important; }
#wmfb-widget :is(a, button):focus-visible { outline: 2px solid #16324a !important; outline-offset: 3px !important; }
@media (max-width: 782px) { #wmfb-widget[data-devices="escritorio"] { display: none !important; } }
@media (min-width: 783px) { #wmfb-widget[data-devices="movil"] { display: none !important; } }

/* Hidden state has precedence over component display rules. */
#wmfb-widget[hidden], #wmfb-widget .wmfb-opciones[hidden], #wmfb-widget .wmfb-burbuja[hidden] { display: none !important; }
