/* CSS Tooltips - Replaces jQuery tipsy */

.css-tooltip {
  position: relative;
  cursor: pointer;
}

.css-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  padding: 6px 10px;
  background: #000;
  color: #fff;
  font-size: 12px;
  line-height: 1.4;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 9999;
  pointer-events: none;
}

.css-tooltip:hover::after {
  opacity: 1;
  visibility: visible;
}

/* Tooltip arrow */
.css-tooltip::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 9999;
  pointer-events: none;
}

.css-tooltip:hover::before {
  opacity: 1;
  visibility: visible;
}

/* Direction: tooltip above element (gravity: s → shows below, but "tooltip-up" means arrow up) */
.css-tooltip.tooltip-s::after {
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
}

.css-tooltip.tooltip-s::before {
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #000;
}

/* Direction: tooltip below element (gravity: n) */
.css-tooltip.tooltip-n::after {
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
}

.css-tooltip.tooltip-n::before {
  top: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 6px solid #000;
}

/* Direction: tooltip right (gravity: w → shows to the right) */
.css-tooltip.tooltip-w::after {
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
}

.css-tooltip.tooltip-w::before {
  left: calc(100% + 2px);
  top: 50%;
  transform: translateY(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 6px solid #000;
}

/* Direction: tooltip left (gravity: e → shows to the left) */
.css-tooltip.tooltip-e::after {
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
}

.css-tooltip.tooltip-e::before {
  right: calc(100% + 2px);
  top: 50%;
  transform: translateY(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #000;
}

/* Diagonal positions */
.css-tooltip.tooltip-sw::after {
  bottom: calc(100% + 8px);
  left: 0;
}

.css-tooltip.tooltip-sw::before {
  bottom: calc(100% + 2px);
  left: 10px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #000;
}

.css-tooltip.tooltip-se::after {
  bottom: calc(100% + 8px);
  right: 0;
}

.css-tooltip.tooltip-se::before {
  bottom: calc(100% + 2px);
  right: 10px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #000;
}

.css-tooltip.tooltip-nw::after {
  top: calc(100% + 8px);
  left: 0;
}

.css-tooltip.tooltip-nw::before {
  top: calc(100% + 2px);
  left: 10px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 6px solid #000;
}

.css-tooltip.tooltip-ne::after {
  top: calc(100% + 8px);
  right: 0;
}

.css-tooltip.tooltip-ne::before {
  top: calc(100% + 2px);
  right: 10px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 6px solid #000;
}
