/* =========================================================
   PC TRENDING - unified advertising surface V1 - 2026-08-20
   Visual layer only. AdSense sizing/initialization remains in public/head.php.
   ========================================================= */

/* Keep every slot neutral while Google is measuring or when no creative exists. */
.PcAdCenter{
  box-sizing:border-box;
}

.PcAdCenter > .MainAdsenseLabel,
.PcAdCenter > .PcToolAdLabel,
.PcAdCenter > .PcReportAdLabel,
.PcAdCenter > .RecommendAdLabel,
.PcAdCenter > .small{
  display:none !important;
}

/* Remove page-specific card treatments before the common filled-state surface is applied. */
.MainAdsenseShell.PcAdCenter,
.RecommendAdSlot.PcAdCenter,
.PcToolAd.PcAdCenter,
.PcReportAdPanel.PcAdCenter,
.TrendDashboardAd.PcAdCenter,
.TrendRankingAdSlot.PcAdCenter,
.TrendRankingInlineAd.PcAdCenter,
.TrendNowAd.PcAdCenter,
.PcBuyIndexAd.PcAdCenter,
.AdArea.PcAdCenter,
.StuffDetailAd.PcAdCenter,
.StuffListAd.PcAdCenter{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Legacy Bootstrap utility classes on RowStuffinfor should not create a permanent empty card. */
.AdArea.StuffDetailAd.PcAdCenter{
  padding:0 !important;
  border-radius:0 !important;
}

/* Ranking used to draw the card on the stage itself. The wrapper now owns the visual surface. */
.TrendRankingAdSlot .PcAdStage,
.TrendRankingInlineAd .PcAdStage{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Filled ads share one quiet visual language across the site. */
.PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"]),
.PcAdCenter.is-ad-filled{
  position:relative;
  width:100% !important;
  max-width:100% !important;
  padding:24px 0 0 !important;
  border:1px solid #e7ecf2 !important;
  border-radius:16px !important;
  background:#fbfcfe !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"])::before,
.PcAdCenter.is-ad-filled::before{
  content:"SPONSORED";
  position:absolute;
  top:8px;
  left:0;
  right:0;
  display:block;
  height:10px;
  color:#9aa5b3;
  font-size:9px;
  font-weight:800;
  line-height:10px;
  letter-spacing:.14em;
  text-align:center;
  pointer-events:none;
}

/* Let the creative keep the full measurable width. Do not style generated Google children. */
.PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"]) > .PcAdStage,
.PcAdCenter.is-ad-filled > .PcAdStage{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  background:#fff;
}

/* Empty inventory must not leave a decorative shell or caption behind. */
.PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="unfilled"]),
.PcAdCenter.is-ad-unfilled{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Site sections may reserve height while the request is pending; keep that state visually quiet. */
.PcAdCenter:not(:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"])):not(:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="unfilled"])){
  box-shadow:none !important;
}

/* Page-specific rhythm. Keep ads present but visually subordinate to content cards. */
.MainHome .MainAdsenseShell.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
.FindMyMonitorArea .RecommendAdSlot.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
.FindMyPcArea .RecommendAdSlot.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
.PcReportAdPanel.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]){
  border-radius:18px !important;
}

.StuffListAd.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
.TrendRankingInlineAd.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]){
  border-radius:14px !important;
}

.TrendDashboardAd.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]){
  min-height:0 !important;
}

.PcToolAd.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]){
  border-top:1px solid #e7ecf2 !important;
  border-bottom:1px solid #e7ecf2 !important;
}

/* Remove the report-only explanatory copy so ad labelling is consistent everywhere. */
.PcReportAdPanel.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]) > .PcReportAdLabel{
  display:none !important;
}

@media (max-width:767.98px){
  .PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"]),
  .PcAdCenter.is-ad-filled{
    padding-top:21px !important;
    border-radius:13px !important;
  }

  .PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"])::before,
  .PcAdCenter.is-ad-filled::before{
    top:7px;
    font-size:8px;
    letter-spacing:.12em;
  }

  .MainHome .MainAdsenseShell.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
  .FindMyMonitorArea .RecommendAdSlot.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
  .FindMyPcArea .RecommendAdSlot.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
  .PcReportAdPanel.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]){
    border-radius:14px !important;
  }

  .StuffListAd.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]),
  .TrendRankingInlineAd.PcAdCenter:has(ins.adsbygoogle[data-ad-status="filled"]){
    border-radius:12px !important;
  }
}

/* =========================================================
   PC TRENDING - Ad creative fit guard V2 - 2026-08-20
   Keep the decorative surface aligned to Google's real rendered iframe.
   ========================================================= */
.PcAdCenter.is-ad-filled,
.PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"]){
  overflow:hidden !important;
}

.PcAdCenter.is-ad-filled > .PcAdStage,
.PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"]) > .PcAdStage{
  min-height:var(--pc-ad-render-height, 0px) !important;
  overflow:hidden !important;
  border-radius:0 0 15px 15px;
}

.PcAdCenter.is-ad-filled > .PcAdStage > ins.adsbygoogle,
.PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"]) > .PcAdStage > ins.adsbygoogle{
  overflow:hidden !important;
}

@media (max-width:767.98px){
  .PcAdCenter.is-ad-filled > .PcAdStage,
  .PcAdCenter:has(> .PcAdStage > ins.adsbygoogle[data-ad-status="filled"]) > .PcAdStage{
    border-radius:0 0 12px 12px;
  }
}

/* =========================================================
   PC TRENDING - single ad label guard V3 - 2026-08-20
   The common surface owns the only visible sponsorship label.
   ========================================================= */
.PcAdCenter .MainAdsenseLabel,
.PcAdCenter .PcToolAdLabel,
.PcAdCenter .PcReportAdLabel,
.PcAdCenter .RecommendAdLabel,
.PcAdCenter > .small.text-muted{
  display:none !important;
}
