/* ===== ad-slot 变量与规则(原 /common/css/ad-slot-layout.css, 2026-10-29 内联以配合 ?v= 内容哈希缓存失效) ===== */
:root {
  --ad-slot-list-ar-pc: 5 / 1;
  /* 移动端内联广告卡: 对齐原站 50:9(5.56:1)，素材为 686x180 宽幅，fill 填满 */
  --ad-slot-list-ar-mobile: 50 / 9; /* 2026-10-29 最终审查: 恢复参考站(91spwz63)原值 50/9(5.56:1), 移动端广告卡 74px 与参考站一致 */
  /* 2026-10-28 恢复参考站(91spwz63)顶墙槽位 630:143.4(4.39:1), 素材 1372x180 fill 拉伸与原站一致 */
  --ad-slot-banner-cover-ar-n: 630;
  --ad-slot-banner-cover-ar-d: 143.4;
  --ad-slot-banner-grid-h: 6.875rem;
  --ad-slot-banner-grid-h-m: 4rem;
  --ad-slot-strip-li-h: 6.875rem;
  --ad-slot-strip-li-h-sm: 2.8125rem;
}

[data-ad-slide][hidden] {
  display: none !important;
}

.banner-cover {
  width: 100%;
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: var(--ad-slot-banner-cover-ar-n) / var(--ad-slot-banner-cover-ar-d);
}

.banner-cover img {
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.banner-cover-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.banner-cover.banner-cover-grid {
  aspect-ratio: auto;
  overflow: visible;
}

.banner-cover-grid a {
  margin-bottom: 0.5rem;
  display: block;
  height: var(--ad-slot-banner-grid-h);
  min-height: var(--ad-slot-banner-grid-h);
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

.banner-cover-grid a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  object-position: center;
  border-radius: 0;
}

@media (max-width: 768px) {
  .banner-cover-grid a {
    height: var(--ad-slot-banner-grid-h-m);
    min-height: var(--ad-slot-banner-grid-h-m);
  }
}

@media (min-width: 1249px) {
  .banner-cover-grid {
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 0 10px;
  }
}

.info-row__item {
  border-radius: 0;
  overflow: visible;
}

.info-row__item .item-cover {
  position: relative;
  width: 100%;
  height: var(--ad-slot-strip-li-h, 6.875rem);
  min-height: var(--ad-slot-strip-li-h, 6.875rem);
  overflow: visible;
  background-color: #000;
}

.info-row__item .item-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  border-radius: 0;
}

@media screen and (max-width: 767px) {
  .info-row__item .item-cover {
    height: var(--ad-slot-strip-li-h-sm, 2.8125rem);
    min-height: var(--ad-slot-strip-li-h-sm, 2.8125rem);
  }
}

.bst-top-banners ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bst-gap, 12px);
}

@media (max-width: 991px) {
  .bst-top-banners ul {
    grid-template-columns: 1fr;
  }
}

.bst-top-banners li {
  border-radius: 0;
  overflow: hidden;
}

.bst-top-banners .banner-cover {
  position: relative;
  border-radius: 0;
  overflow: hidden;
}

.bst-top-banners .banner-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
  border-radius: 0;
}

.bst-list-banners ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bst-gap, 12px);
}

@media (max-width: 991px) {
  .bst-list-banners ul {
    grid-template-columns: 1fr;
  }
}

.bst-list-banners li {
  border-radius: 0;
  height: var(--ad-slot-strip-li-h, 6.875rem);
  min-height: var(--ad-slot-strip-li-h, 6.875rem);
  overflow: visible;
}

.bst-list-banners li a {
  display: block;
  height: 100%;
}

.bst-list-banners li img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
  border-radius: 0;
}

@media (max-width: 767px) {
  .bst-list-banners li {
    height: var(--ad-slot-strip-li-h-sm, 2.8125rem);
    min-height: var(--ad-slot-strip-li-h-sm, 2.8125rem);
  }
}

.tp4-info-row-item .tp4-item-cover,
.tp5-info-row-item .tp5-item-cover {
  padding-top: 0;
  width: 100%;
  height: var(--ad-slot-strip-li-h, 6.875rem);
  min-height: var(--ad-slot-strip-li-h, 6.875rem);
  overflow: visible;
  border-radius: 0;
}

@media screen and (max-width: 767px) {
  .tp4-info-row-item .tp4-item-cover,
  .tp5-info-row-item .tp5-item-cover {
    height: var(--ad-slot-strip-li-h-sm, 2.8125rem);
    min-height: var(--ad-slot-strip-li-h-sm, 2.8125rem);
  }
}

.tp4-info-row-item .tp4-item-cover img,
.tp5-info-row-item .tp5-item-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  border-radius: 0;
}
/* ===== fg-floating-ad 规则(原 fg-floating-ad.css, 2026-10-29 内联以配合 ?v= 缓存失效) ===== */
:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner) {
    box-sizing: border-box;
    width: 180px;
    height: 180px;
    min-width: 180px;
    min-height: 180px;
    max-width: 180px;
    max-height: 180px;
    padding: 0;
    border: 0;
    border-radius: 28px;
    overflow: visible;
}

:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner) > a {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: inherit;
    overflow: visible;
}

:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner) > a > img {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: inherit;
    object-fit: fill;
}

:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner) > button {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 2;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: radial-gradient(circle 12px at center, rgb(21 60 74 / 85%) 95%, transparent 100%);
    box-shadow: none;
    color: #ffffff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner) > button::before {
    content: none;
}

:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner) > button:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: -8px;
}

:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner)[hidden],
:is(#fgFloatBanner, #fg6FloatingApp, #fg7AppFloat, #fg7FloatBanner, #fg9FloatBanner) > a[hidden] {
    display: none;
}

#fg6FloatingApp > a > span {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    box-sizing: border-box;
    width: auto;
    padding: 4px 8px;
    border-radius: 12px;
    background: rgb(21 60 74 / 85%);
    color: #ffffff;
}

.adspop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  /* 2026-10-28 修复: 根容器不再拦截整屏点击, 只有弹窗内容可点(底部横幅"被遮挡") */
  pointer-events: none;
}

.adspop::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.adspop .popup-container {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  box-sizing: border-box;
  /* 2026-10-28 修复: 透明容器不再拦截页面点击(底部横幅"被遮挡"), 只有弹窗本体可点 */
  pointer-events: none;
}

.adspop .popup-container .popup-content {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.adspop .popup-container .popup-close {
  width: 42px;
  height: 42px;
  margin-bottom: 20px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.adspop .popup-container .popup-close img {
  width: 100%;
  height: 100%;
}

/* 首页弹窗: 固定 400x500, 垂直居中; 移动端按 4:5 缩到屏宽内 (2026-10-25 用户需求) */
.adspop .popup-container .popup-picture {
  width: 400px;
  max-width: calc(100vw - 40px);
  box-sizing: content-box;
  padding: 0;
  overflow: visible;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adspop .popup-container .popup-picture img {
  display: block;
  width: 400px;
  height: 500px;
  max-width: calc(100vw - 40px);
  max-height: calc((100vw - 40px) * 1.25);
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .adspop .popup-container .popup-picture {
    width: calc(100vw - 40px);
  }

  .adspop .popup-container .popup-picture img {
    width: calc(100vw - 40px);
    height: calc((100vw - 40px) * 1.25);
  }
}

.adspop .application-popup {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  z-index: 9999;
  padding-top: 15vh;
  box-sizing: border-box;
}

.adspop .application-popup .application-content {
  max-width: 90vw;
  width: 100%;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}

.adspop .application-popup .popup-close {
  width: 42px;
  height: 42px;
  margin-bottom: 30px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.adspop .application-popup .popup-close img {
  width: 100%;
  height: 100%;
}

.adspop .application-popup .application-list {
  max-width: 25rem;
  width: 100%;
  height: auto;
  min-height: 6rem;
  max-height: 26rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  row-gap: 6px;
  column-gap: 10px;
  align-content: start;
  background: linear-gradient(-45deg, #000, #313131);
  padding: 10px;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 12px;
  touch-action: pan-y;
}

.adspop .application-popup .application-list a {
  text-decoration: none;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

.adspop .application-popup .application-list a img {
  width: 3.8rem;
  height: 3.8rem;
  flex-shrink: 0;
  position: relative;
  border-radius: 9px;
  display: block;
  margin: 0 auto;
  background-color: #353535;
  object-fit: cover; /* 原站无此项(素材均为方图); 加 cover 保证非方图不拉伸变形、清晰 */
}

.adspop .application-popup .application-list a p {
  font-size: 12px;
  white-space: nowrap;
  margin: 0.25rem 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .adspop .application-popup .application-list {
    grid-template-columns: repeat(auto-fit, minmax(3.5rem, 1fr));
    max-width: 90vw;
    width: 100%;
    height: auto;
    min-height: 6rem;
    max-height: 26rem;
  }
}

a.preview-full-version-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 12px;
    padding: 10px 14px;
    box-sizing: border-box;
    text-align: center;
    background: linear-gradient(90deg, rgba(255, 221, 154, 0.06), rgba(255, 221, 154, 0.14), rgba(255, 221, 154, 0.06));
    border: 1px solid rgba(255, 221, 154, 0.22);
    border-radius: 10px;
    color: #ffdd9a;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
    cursor: pointer;
    letter-spacing: 0.02em;
    animation: previewFullVersionCtaFlash 1.4s ease-in-out infinite;
}

a.preview-full-version-cta:hover {
    color: #fff0c2;
    text-decoration: underline;
}
