/* Contact-local tooltip accessibility layer. The established pseudo-tooltip
   visuals are replaced by one real hover surface; core Contact state is not. */
body[data-page="contact"] .contact-action[data-tooltip]::before,
body[data-page="contact"] .hero-email-reveal[data-tooltip]::after,
body[data-page="contact"] .calendar-day.is-today[aria-disabled="true"]::after{
  content:none!important;
  display:none!important;
}

/* Shared .charus-tooltip owns the surface. Contact owns only placement and
   the transparent bridges required by its existing trigger geometry. */
body[data-page="contact"] .contact-hover-tooltip{
  position:fixed;
}
body[data-page="contact"] .contact-hover-tooltip[data-placement="left"]{
  transform:translateX(5px);
}
body[data-page="contact"] .contact-hover-tooltip[data-placement^="above-"]{
  transform:translateY(4px);
}
body[data-page="contact"] .contact-hover-tooltip.is-visible{
  transform:none;
}

/* Transparent hit-area bridges occupy only the existing visual gap. */
body[data-page="contact"] .contact-hover-tooltip::after{
  content:"";
  position:absolute;
  background:transparent;
}
body[data-page="contact"] .contact-hover-tooltip[data-placement="left"]::after{
  left:100%;
  top:0;
  bottom:0;
  width:.58rem;
}
body[data-page="contact"] .contact-hover-tooltip[data-placement="above-action"]::after,
body[data-page="contact"] .contact-hover-tooltip[data-placement="above-email"]::after{
  left:0;
  right:0;
  top:100%;
  height:.5rem;
}
body[data-page="contact"] .contact-hover-tooltip[data-placement="above-day"]::after{
  left:0;
  right:0;
  top:100%;
  height:.42rem;
}

/* calendar.js already owns the semantic duration tooltip. Only make its
   established .48rem visual gap traversable by the pointer. */
body[data-page="contact"] .time-duration-tooltip{
  pointer-events:auto;
}
body[data-page="contact"] .time-duration-tooltip::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:.48rem;
  background:transparent;
}
body[data-page="contact"] .time-duration-tooltip[data-placement="below"]::after{
  top:auto;
  bottom:100%;
}
