/* ───────── Tooltip Styles ───────── */

.tooltip {
  position: absolute;
  background: #374151;
  color: #f9fafb;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.4;
  font-family: 'Open Sans', system-ui, sans-serif;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  border: 1px solid #4b5563;
  max-width: 280px;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.2s ease-out;
  pointer-events: none;
  word-wrap: break-word;
}

.tooltip.show {
  opacity: 1;
  pointer-events: auto;
}

.tooltip.hide {
  opacity: 0;
  transition: opacity 0.15s ease-in;
}

/* Tooltip arrow */
.tooltip::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border: 6px solid transparent;
}

/* Top positioning - arrow points down */
.tooltip.tooltip-top::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #374151;
}

/* Bottom positioning - arrow points up */
.tooltip.tooltip-bottom::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #374151;
}

/* Left positioning - arrow points right */
.tooltip.tooltip-left::before {
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-left-color: #374151;
}

/* Right positioning - arrow points left */
.tooltip.tooltip-right::before {
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-right-color: #374151;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .tooltip {
    max-width: calc(100vw - 40px);
    font-size: 13px;
    padding: 10px 14px;
  }
}

