/* Physical right placement is intentional for both RTL and LTR pages. */
.mw-whatsapp-float {
 position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom));
 width:56px; height:56px; min-width:56px; min-height:56px; z-index:59;
 display:grid; place-items:center; box-sizing:border-box; border:2px solid #fff; border-radius:50%;
 background:var(--mw-wa-color,#01433f); color:#fff; box-shadow:0 3px 12px rgba(0,0,0,.18);
 text-decoration:none; transition:filter .15s ease,box-shadow .15s ease;
}
.mw-whatsapp-float:visited { color:#fff; }
.mw-whatsapp-float[hidden] { display:none; }
.mw-whatsapp-float .ic { width:30px; height:30px; fill:currentColor; }
.mw-whatsapp-float:hover { color:#fff; filter:brightness(1.1); box-shadow:0 4px 15px rgba(0,0,0,.24); }
.mw-whatsapp-float:focus-visible { outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 7px #01433f; }
body:has(.mw-nav.is-open) .mw-whatsapp-float { visibility:hidden; }
body:has(:is(input,textarea,select):focus) .mw-whatsapp-float { visibility:hidden; }
@media (max-width:640px) {
 .mw-whatsapp-float { right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); }
 /* Reserve footer space so its last controls/text can scroll above the fixed button. */
 .meswab-page:has(.mw-whatsapp-float) .mw-footer { padding-block-end:92px; }
}
@media (prefers-reduced-motion:reduce) { .mw-whatsapp-float { transition:none; } }
