/* 广告位管理 · 前台样式（类名统一 qz-ad- 前缀，避免与站点模板冲突） */

.qz-ad-root {
    position: relative;
    z-index: 2147482000;
    animation: qz-ad-fade-in .18s ease-out;
}

@keyframes qz-ad-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.qz-ad-close {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 26px;
    height: 26px;
    line-height: 24px;
    text-align: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .62);
    color: #fff;
    font-size: 16px;
    font-family: Arial, sans-serif;
    cursor: pointer;
    border: 0;
    padding: 0;
    text-decoration: none;
    box-sizing: border-box;
}

.qz-ad-close:hover {
    background: rgba(0, 0, 0, .82);
}

/* 贴边展示的广告：关闭按钮必须放在容器内侧。
   横幅贴在视口顶部，按钮放外侧会跑到屏幕外；弹窗容器有 overflow 会把它裁掉。 */
.qz-ad-banner .qz-ad-close,
.qz-ad-popup .qz-ad-close,
.qz-ad-interstitial .qz-ad-close,
.qz-ad-float .qz-ad-close {
    top: 4px;
    right: 4px;
}

/* 弹窗 */
.qz-ad-popup {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.qz-ad-popup-box {
    position: relative;
    max-width: 92vw;
    max-height: 88vh;
    overflow: auto;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .28);
    padding: 8px;
}

.qz-ad-popup-box img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

/* 横幅：整宽通栏。
   不留左右内边距，让横幅类广告铺满整宽；如果是固定尺寸的图片广告，
   由 text-align:center 居中，两边留白即为页面背景。 */
.qz-ad-banner {
    position: fixed;
    left: 0;
    right: 0;
    text-align: center;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .12);
    padding: 0;
    box-sizing: border-box;
}

.qz-ad-banner.is-top {
    top: 0;
}

.qz-ad-banner.is-bottom {
    bottom: 0;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, .12);
}

.qz-ad-banner img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/* 对联（左右漂浮） */
.qz-ad-couplet {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    max-width: 160px;
}

.qz-ad-couplet.is-left {
    left: 8px;
}

.qz-ad-couplet.is-right {
    right: 8px;
}

.qz-ad-couplet .qz-ad-inner {
    position: relative;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .16);
    padding: 4px;
}

.qz-ad-couplet img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

/* 右下角浮层 */
.qz-ad-corner {
    position: fixed;
    right: 16px;
    bottom: 16px;
    max-width: 320px;
    z-index: 2147482100;
}

.qz-ad-corner .qz-ad-inner {
    position: relative;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .22);
    padding: 6px;
}

.qz-ad-corner img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* 素材里的自定义 HTML 保持原样输出，不做额外样式干预 */
.qz-ad-html {
    display: block;
}

/* 全屏插屏：整屏铺满的图片广告（移动端常用），没有白框 */
.qz-ad-interstitial {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .9);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    box-sizing: border-box;
}

.qz-ad-interstitial-box {
    position: relative;
    max-width: 100%;
    max-height: 100%;
}

.qz-ad-interstitial-box img {
    display: block;
    max-width: 100%;
    max-height: 92vh;
    width: auto;
    height: auto;
    margin: 0 auto;
    border-radius: 6px;
}

/* 侧边悬浮：贴在视口一侧中部的小广告块 */
.qz-ad-float {
    position: fixed;
    top: 58%;
    transform: translateY(-50%);
    max-width: 140px;
    z-index: 2147482050;
}

.qz-ad-float.is-left {
    left: 0;
}

.qz-ad-float.is-right {
    right: 0;
}

.qz-ad-float .qz-ad-inner {
    position: relative;
    background: #fff;
    border-radius: 8px 0 0 8px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .16);
    padding: 4px;
}

.qz-ad-float.is-left .qz-ad-inner {
    border-radius: 0 8px 8px 0;
}

.qz-ad-float img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

/* 文章内插入：跟随正文流的普通广告块，不悬浮不遮挡 */
.qz-ad-inline {
    display: block;
    margin: 18px 0;
    text-align: center;
}

.qz-ad-inline img {
    display: inline-block;
    max-width: 100%;
    height: auto;
}

/* 移动端：对联和侧边悬浮容易挡内容，窄屏直接不展示 */
@media (max-width: 1200px) {
    .qz-ad-couplet {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .qz-ad-float {
        display: none !important;
    }

    .qz-ad-corner {
        max-width: 70vw;
    }
}

.qz-ad-banner-label {
    display: block;
    font-size: 10px;
    line-height: 14px;
    color: #94a3b8;
    font-family: Arial, sans-serif;
}
