/* ============================================================
   星幕 · STARVEIL —— 广告位样式
   广告只在「后台贴了代码 + 开了开关」时才占版面，空着不留框
   ============================================================ */

.ad-slot,
.ad-feed-item{
  position:relative;
  border-radius:var(--radius,12px);
  background:var(--surface,rgba(255,255,255,.03));
  border:1px dashed var(--line,rgba(255,255,255,.12));
}
.ad-slot[hidden],
.ad-feed-item[hidden]{display:none!important}

/* 角标 */
.ad-tag{
  position:absolute;top:6px;right:8px;z-index:2;
  font-size:10px;line-height:1;letter-spacing:.06em;
  padding:3px 6px;border-radius:5px;
  color:var(--faint,#8a8a94);
  background:rgba(0,0,0,.35);
  border:1px solid var(--line,rgba(255,255,255,.1));
  pointer-events:none;
}

.ad-body{
  display:block;
  overflow:hidden;
  border-radius:inherit;
}
.ad-body>*{max-width:100%}
.ad-body img{max-width:100%;height:auto;display:block}

/* ── 头部横幅 ── */
.ad-slot.ad-top{
  margin:14px auto 0;
  width:min(1240px,100% - 32px);
  padding:10px;
  min-height:0;
}
.ad-slot.ad-top:not([hidden]){min-height:64px}
.ad-slot.ad-top .ad-body{display:flex;justify-content:center;align-items:center;min-height:44px}

/* ── 页面底部 ── */
.ad-slot.ad-bottom{
  margin:26px auto 34px;
  width:min(1240px,100% - 32px);
  padding:10px;
}
.ad-slot.ad-bottom:not([hidden]){min-height:64px}
.ad-slot.ad-bottom .ad-body{display:flex;justify-content:center;align-items:center;min-height:44px}

/* ── 片单信息流：跨整行 ── */
.ad-feed-item{
  grid-column:1/-1;
  padding:10px;
  min-height:56px;
}
.ad-feed-item .ad-body{display:flex;justify-content:center;align-items:center;min-height:40px}

/* ── 播放器下方 ── */
.ad-slot.ad-player{
  margin:10px 0 0;
  padding:8px;
  min-height:50px;
  background:rgba(0,0,0,.22);
}
.ad-slot.ad-player .ad-body{display:flex;justify-content:center;align-items:center;min-height:34px}

/* ── 弹窗 ── */
.ad-popup-mask{
  position:fixed;inset:0;z-index:220;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.ad-popup-mask[hidden]{display:none!important}
.ad-popup{
  position:relative;
  max-width:min(560px,94vw);
  max-height:88vh;
  overflow:auto;
  padding:16px;
  border-radius:14px;
  background:var(--surface,#141418);
  border:1px solid var(--line,rgba(255,255,255,.12));
  box-shadow:0 24px 60px rgba(0,0,0,.6);
}
.ad-popup .ad-tag{top:-1px;right:34px}
.ad-popup-close{
  position:absolute;top:6px;right:8px;z-index:3;
  width:26px;height:26px;border-radius:8px;cursor:pointer;
  background:transparent;border:1px solid var(--line,rgba(255,255,255,.12));
  color:var(--dim,#b9b9c2);font-size:15px;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.ad-popup-close:hover{color:#fff;border-color:var(--faint,#8a8a94)}
.ad-popup-body{min-width:min(280px,80vw);min-height:60px}
.ad-popup-body>*{max-width:100%}

@media (max-width:640px){
  .ad-slot.ad-top,.ad-slot.ad-bottom{width:calc(100% - 24px)}
  .ad-slot.ad-top:not([hidden]),.ad-slot.ad-bottom:not([hidden]){min-height:56px}
  .ad-popup{padding:12px}
}
