/* =============================================
   Tooltip Component — UI-0082
   ============================================= */

/* --- Tooltip Wrapper (trigger container) --- */
.tooltip-wrap {
  position: relative;
  display: inline-flex;
}

/* --- Tooltip Bubble --- */
.tooltip {
  position: absolute;
  z-index: var(--z-dropdown);
  background-color: var(--color-midnight, #0A2540);
  color: var(--color-white, #FFFFFF);
  font-family: var(--font-sans);
  font-size: 0.8125rem; /* 13px */
  font-weight: var(--font-normal);
  line-height: var(--leading-normal, 1.5);
  padding: 6px 12px;
  border-radius: var(--radius-md); /* 6px spec, use 8px token */
  white-space: nowrap;
  max-width: 240px;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--duration-fast, 150ms) var(--ease-out) var(--duration-200, 200ms);
}

/* --- Visible State --- */
.tooltip.is-visible,
.tooltip-wrap:hover .tooltip,
.tooltip-wrap:focus-within .tooltip {
  opacity: 1;
  transition-delay: var(--duration-200, 200ms); /* 200ms appearance delay */
}

/* Disappears faster */
.tooltip-wrap:not(:hover) .tooltip {
  transition-delay: 0ms;
  transition-duration: 100ms;
}

/* --- CSS Triangle Arrow --- */
.tooltip::after {
  content: '';
  position: absolute;
  border: 6px solid transparent;
}

/* =============================================
   Position Variants
   ============================================= */

/* Top (default) */
.tooltip--top,
.tooltip:not([class*="tooltip--"]) {
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
}

.tooltip--top::after,
.tooltip:not([class*="tooltip--"])::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--color-midnight, #0A2540);
}

/* Bottom */
.tooltip--bottom {
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
}

.tooltip--bottom::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--color-midnight, #0A2540);
}

/* Left */
.tooltip--left {
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
}

.tooltip--left::after {
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-left-color: var(--color-midnight, #0A2540);
}

/* Right */
.tooltip--right {
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
}

.tooltip--right::after {
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-right-color: var(--color-midnight, #0A2540);
}

/* =============================================
   Tooltip — Mobile Responsive
   ============================================= */
@media (max-width: 639px) {
  /* Tooltips: wider max-width, prevent off-screen */
  .tooltip {
    max-width: calc(100vw - 32px);
    font-size: 12px;
  }
}
