.fernsupport {
  position: fixed;
  z-index: 90;
  right: calc(24px + env(safe-area-inset-right, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  font-family: var(--corp-font, "Segoe UI", sans-serif);
}

.fernsupport__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--corp-blue, #0868b5);
  color: #fff;
  box-shadow: 0 4px 20px #192b3b26;
  font-size: 15px;
  font-weight: 550;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
}

.fernsupport__link:hover { background: #07558f; }
.fernsupport__link:focus-visible { outline: 3px solid #192b3b; outline-offset: 4px; }
.fernsupport__link svg { flex-shrink: 0; }

.fernsupport__hint {
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  width: min(290px, calc(100vw - 48px));
  padding: 12px 16px;
  border: 1px solid var(--corp-line, #dce3e9);
  border-radius: 8px;
  background: #fff;
  color: var(--corp-ink, #192b3b);
  box-shadow: 0 4px 20px #192b3b1a;
  font-size: 13px;
  line-height: 1.5;
  opacity: 0;
  pointer-events: none;
}

.fernsupport:hover .fernsupport__hint,
.fernsupport:focus-within .fernsupport__hint { opacity: 1; }

/* Leave room below the final footer links when scrolled to the page end. */
body:has(> .fernsupport) { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }

/* Navigation and search take priority while the visitor is using them. */
body:has(.corp-header__menu-button[aria-expanded="true"]) .fernsupport,
body:has(dialog[open]) .fernsupport { visibility: hidden; }

@media (max-width: 600px) {
  .fernsupport {
    right: calc(16px + env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  .fernsupport__link { min-height: 48px; padding: 10px 16px; gap: 8px; font-size: 14px; }
  body:has(> .fernsupport) { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
}

@media print {
  .fernsupport { display: none; }
  body:has(> .fernsupport) { padding-bottom: 0; }
}
