/* Final accessibility and motion safeguards. */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #F6C85F;
  outline-offset: 3px;
}

.zmpt-menu li.menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.zmpt-nav-toggle:focus-visible,
.zmpt-menu a:focus-visible,
.zmpt-nav__cta a:focus-visible {
  border-radius: 8px;
}

/* Mobile live-chat containment and custom launcher. */
.zmpt-mobile-chat-launcher {
  position: fixed;
  right: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 90;
  display: none;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 18px;
  background: linear-gradient(145deg,#0daac0,#087485);
  box-shadow: 0 16px 36px rgba(5,44,53,.28);
  color: #fff;
  cursor: pointer;
}

.zmpt-mobile-chat-launcher svg {
  width: 25px;
  height: 25px;
}

.zmpt-mobile-chat-launcher:hover,
.zmpt-mobile-chat-launcher:focus-visible {
  background: linear-gradient(145deg,#16b8ce,#086878);
}

@media (max-width: 680px) {
  .zmpt-mobile-chat-launcher:not([hidden]) {
    display: grid;
    place-items: center;
  }

  iframe[title*="chat" i],
  iframe[src*="tawk.to" i] {
    max-width: calc(100vw - 24px) !important;
    box-sizing: border-box !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
