/* ==========================================================================
   工具提示组件 (Tooltip) - CSS-only
   ========================================================================== */

/* 
   用法: 
   <button class="zuoekai-tooltip" data-zuoekai-tooltip="提示文本内容">
     Hover me
   </button>
*/

.zuoekai-tooltip {
  position: relative;
  cursor: pointer;
}

/* 提示文本容器 */
.zuoekai-tooltip::before {
  content: attr(data-zuoekai-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  padding: 6px 10px;
  background-color: #1e293b; /* slate-800 */
  color: white;
  font-size: 12px;
  line-height: 1.4;
  border-radius: var(--zuoekai-radius-sm);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
  z-index: 100;
  box-shadow: var(--zuoekai-shadow-md);
}

/* 小三角箭头 */
.zuoekai-tooltip::after {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  border-width: 5px;
  border-style: solid;
  border-color: #1e293b transparent transparent transparent;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
  z-index: 100;
}

/* 悬停显示 */
.zuoekai-tooltip:hover::before,
.zuoekai-tooltip:focus::before {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-12px);
}

.zuoekai-tooltip:hover::after,
.zuoekai-tooltip:focus::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-2px); /* Slight movement for effect */
}

/* --- 方位变体 (Positions) --- */

/* 下方 (Bottom) */
.zuoekai-tooltip--bottom::before {
  bottom: auto;
  top: 100%;
  transform: translateX(-50%) translateY(8px);
}
.zuoekai-tooltip--bottom::after {
  bottom: auto;
  top: 100%;
  transform: translateX(-50%) translateY(0);
  border-color: transparent transparent #1e293b transparent;
}
.zuoekai-tooltip--bottom:hover::before {
  transform: translateX(-50%) translateY(12px);
}
.zuoekai-tooltip--bottom:hover::after {
  transform: translateX(-50%) translateY(2px);
}

/* 左侧 (Left) */
.zuoekai-tooltip--left::before {
  bottom: auto;
  left: auto;
  top: 50%;
  right: 100%;
  transform: translateY(-50%) translateX(-8px);
}
.zuoekai-tooltip--left::after {
  bottom: auto;
  left: auto;
  top: 50%;
  right: 100%;
  transform: translateY(-50%) translateX(0);
  border-color: transparent transparent transparent #1e293b;
}
.zuoekai-tooltip--left:hover::before {
  transform: translateY(-50%) translateX(-12px);
}
.zuoekai-tooltip--left:hover::after {
  transform: translateY(-50%) translateX(-2px);
}

/* 右侧 (Right) */
.zuoekai-tooltip--right::before {
  bottom: auto;
  left: 100%;
  top: 50%;
  transform: translateY(-50%) translateX(8px);
}
.zuoekai-tooltip--right::after {
  bottom: auto;
  left: 100%;
  top: 50%;
  transform: translateY(-50%) translateX(0);
  border-color: transparent #1e293b transparent transparent;
}
.zuoekai-tooltip--right:hover::before {
  transform: translateY(-50%) translateX(12px);
}
.zuoekai-tooltip--right:hover::after {
  transform: translateY(-50%) translateX(2px);
}

/* --- 颜色变体 (Colors) --- */

.zuoekai-tooltip--primary::before { background-color: var(--zuoekai-color-brand-600); }
.zuoekai-tooltip--primary::after { border-color: var(--zuoekai-color-brand-600) transparent transparent transparent; }

.zuoekai-tooltip--danger::before { background-color: var(--zuoekai-color-error-600); }
.zuoekai-tooltip--danger::after { border-color: var(--zuoekai-color-error-600) transparent transparent transparent; }
