/* Persistent contact shortcuts, matching the former website's round gold buttons. */
html body .mg-floating-contact {
  position:fixed;
  right:max(20px, env(safe-area-inset-right));
  bottom:calc(20px + env(safe-area-inset-bottom));
  z-index:1000;
  display:flex;
  flex-direction:column;
  gap:12px;
}
html body .mg-floating-contact a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:60px;
  height:60px;
  padding:0;
  border:1px solid #a49250;
  border-radius:50%;
  background:#a49250;
  color:#fff;
  box-shadow:0 4px 16px #17263e26;
  text-decoration:none;
  transition:background-color .15s ease, box-shadow .15s ease;
}
html body .mg-floating-contact a:hover { background:#8b793b; border-color:#8b793b; }
html body .mg-floating-contact a:focus-visible { outline:3px solid #17263e; outline-offset:4px; box-shadow:0 0 0 4px #fff; }
html body .mg-floating-contact svg { display:block; width:28px; height:28px; fill:currentColor; stroke:none; }
html body .mg-floating-contact .mg-floating-contact-call { display:none; }
@media (max-width:600px) {
  html body .mg-floating-contact { right:max(16px, env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); gap:10px; }
  html body .mg-floating-contact a { width:54px; height:54px; }
  html body .mg-floating-contact svg { width:25px; height:25px; }
  html body .mg-floating-contact .mg-floating-contact-call { display:flex; }
  body:has(.mg-mobile-menu[aria-expanded="true"]) .mg-floating-contact { visibility:hidden; }
}
@media (prefers-reduced-motion:reduce) { html body .mg-floating-contact a { transition:none; } }
@media print { html body .mg-floating-contact { display:none; } }
