/*
    :hover 伪类检测鼠标悬停状态
    visibility 和 opacity 属性控制弹窗显示 / 隐藏
    transition 实现平滑的淡入淡出和位移动画
    绝对定位 (position: absolute) 控制弹窗位置

    .popup-container：外层容器，包含触发元素和弹窗
    .trigger：触发弹窗的元素（按钮、文字、图片等）
    .popup：弹窗内容容器，通过不同类控制方向和样式
    .popup-top、.popup-bottom、.popup-left、.popup-right 控制弹窗方向
    .popup-info、.popup-warning 等类控制弹窗风格
*/

/* 弹窗基础样式 */
.popup {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 100;
    padding: 12px 16px;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    pointer-events: none; /* 确保弹窗不影响鼠标事件 */
    width: 280px;
}

.popup-bottom {
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
}

/* 弹窗箭头 */
.popup::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

.popup-bottom::after {
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 6px 6px;
    border-color: transparent transparent #fff;
}

/* 基础弹窗容器样式 */
.popup-container {
    position: relative;
    display: inline-block;
}

.popup-container-hidden {
    position: relative;
    display: inline-block;
}

/* 触发元素样式 */
.trigger {
    cursor: pointer;
    transition: all 0.2s ease;
}

/* 悬停时显示弹窗 */
.popup-container:hover .popup {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}