.wfc-widget { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; position: fixed; z-index: 999999; }
.wfc-widget *, .wfc-widget *::before, .wfc-widget *::after { box-sizing: border-box; }
.wfc-launcher { align-items: center; appearance: none; background: #25d366; border: 0; border-radius: 50%; box-shadow: 0 5px 18px rgba(0,0,0,.24); color: #fff; cursor: pointer; display: flex; height: var(--wfc-size); justify-content: center; opacity: 1; padding: calc(var(--wfc-size) * .18); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, opacity .15s ease; visibility: visible; width: var(--wfc-size); }
.wfc-launcher:hover, .wfc-launcher:focus-visible { box-shadow: 0 8px 24px rgba(0,0,0,.3); color: #fff; outline: 3px solid rgba(37,211,102,.3); outline-offset: 3px; transform: translateY(-2px); }
.wfc-launcher.is-unavailable { cursor: not-allowed; filter: grayscale(.85); opacity: .65; }
.wfc-icon-svg, .wfc-icon-image { display: block; height: 100%; object-fit: contain; width: 100%; }
.wfc-panel { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; box-shadow: 0 14px 45px rgba(0,0,0,.2); color: #17212b; min-width: 310px; overflow: hidden; position: absolute; right: 0; z-index: 2; }
.wfc-bottom-right .wfc-panel, .wfc-bottom-left .wfc-panel { bottom: 0; top: auto; }
.wfc-top-right .wfc-panel, .wfc-top-left .wfc-panel { bottom: auto; top: 0; }
.wfc-bottom-left .wfc-panel, .wfc-top-left .wfc-panel { left: 0; right: auto; }
.wfc-widget.is-open .wfc-launcher { opacity: 0; pointer-events: none; visibility: hidden; }
.wfc-panel-head { align-items: center; background: #075e54; color: #fff; display: flex; justify-content: space-between; padding: 16px 18px; }
.wfc-panel-head strong { font-size: 17px; }
.wfc-close { appearance: none; background: transparent; border: 0; color: #fff; cursor: pointer; font-size: 25px; line-height: 1; padding: 0 2px; }
.wfc-contact-list { max-height: min(420px, 65vh); overflow: auto; padding: 8px; }
.wfc-contact-link { align-items: center; border-radius: 10px; color: #17212b; display: flex; gap: 12px; padding: 12px 10px; text-decoration: none; transition: background .15s ease; }
.wfc-contact-link:hover, .wfc-contact-link:focus-visible { background: #f0faf4; color: #17212b; outline: none; }
.wfc-contact-link.is-unavailable { cursor: not-allowed; opacity: .55; }
.wfc-contact-avatar { align-items: center; background: #dcf8e7; border-radius: 50%; color: #128c7e; display: flex; flex: 0 0 40px; font-size: 20px; height: 40px; justify-content: center; }
.wfc-contact-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.wfc-contact-copy strong { font-size: 15px; line-height: 1.3; }
.wfc-chevron { color: #82909c; font-size: 24px; }
@media (max-width: 480px) { .wfc-widget { --wfc-x: 16px; } .wfc-panel { min-width: min(310px, calc(100vw - 32px)); } }
@media (prefers-reduced-motion: reduce) { .wfc-launcher, .wfc-contact-link { transition: none; } }
