/* Behavior only: city styles continue to own color, shape and icon treatment. */
html body :is(.whatsapp-float, .s-whatsapp):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 7px #101d3b;
}
/* Native dialogs make the background inert; also remove the distracting icon. */
html:has(dialog[open]) body :is(.whatsapp-float, .s-whatsapp) {
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 800px) {
  html body:is([class], [data-city]) :is(.whatsapp-float, .s-whatsapp) {
    right: calc(16px + env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  body:has(form :focus) :is(.whatsapp-float, .s-whatsapp),
  body:has([aria-expanded="true"][data-menu-toggle], .menu[aria-expanded="true"]) :is(.whatsapp-float, .s-whatsapp) {
    visibility: hidden;
    pointer-events: none;
  }
  /* București keeps its existing header control, beside the menu button. */
  html body[data-whatsapp-position="header"] .whatsapp-float {
    top: calc(12px + env(safe-area-inset-top, 0px));
    right: calc(70px + env(safe-area-inset-right, 0px));
    bottom: auto;
  }
}
