/*
 * AdSense Auto ads 版面排版（僅 CSS，不隱藏廣告）。
 *
 * 插入位置控制：AdSense 後台 → Auto ads → Excluded areas，請加入
 *   .ccb-ads-exclude, .site-chrome, .site-nav, .footer, #flash-container,
 *   #site-content-end, .content-viewer, .modal, .consent-banner, .ccb-spotlight,
 *   .partner-banner, .partners-hero, .gaming-hero, .fullscreen-hero, .game-hero
 *
 * 允許插入：#mainContent.ccb-ads-zone 內 .ccb-ads-anchor 錨點帶（main/body 直屬層由 ads.js 移入錨點）。
 */

/* --- 全站 flex 高度鏈（避免 Auto ads 撐破版面）--- */
.site-shell {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.ccb-ads-zone {
  position: relative;
  isolation: isolate;
  flex: 1 1 auto;
  min-width: 0;
  display: flow-root;
}

.site-chrome {
  flex-shrink: 0;
}

.footer.ccb-ads-exclude {
  flex-shrink: 0;
  clear: both;
  position: relative;
  z-index: 1;
}

/* --- Auto ads 錨點帶（區塊間留白通道，配合 Excluded areas）--- */
.ccb-ads-anchor {
  display: block;
  width: min(100%, 1200px);
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(12px, 3vw, 24px);
  min-height: 0;
  clear: both;
  box-sizing: border-box;
}

/* --- Google 插入的 Auto ads：預設僅在 .ccb-ads-anchor 內顯示 --- */
.ccb-ads-zone > .google-auto-placed,
.ccb-ads-zone > .ccb-google-auto-placed,
body.has-fixed-nav > .google-auto-placed,
body.has-fixed-nav > .ccb-google-auto-placed,
#site-shell > .google-auto-placed,
#site-shell > .ccb-google-auto-placed,
#mainContent.ccb-ads-zone > .google-auto-placed,
#mainContent.ccb-ads-zone > .ccb-google-auto-placed,
.ccb-ads-exclude .google-auto-placed,
.ccb-ads-exclude .ccb-google-auto-placed {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Hero 之前錯位的 in-page 廣告（合作夥伴、遊戲詳情等） */
#site-header ~ .google-auto-placed,
#site-header ~ .ccb-google-auto-placed,
.partner-detail-page .google-auto-placed,
.partner-detail-page .ccb-google-auto-placed,
.game-detail-container .google-auto-placed,
.game-detail-container .ccb-google-auto-placed,
.group-detail-container .google-auto-placed,
.group-detail-container .ccb-google-auto-placed,
.fullscreen-hero + .google-auto-placed,
.fullscreen-hero + .ccb-google-auto-placed {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* 錨點帶內：區塊級、置中、不超出內容寬 */
.ccb-ads-anchor > .google-auto-placed,
.ccb-ads-anchor > .ccb-google-auto-placed,
.ccb-ads-zone .ccb-ads-anchor > .google-auto-placed,
.ccb-ads-zone .ccb-ads-anchor > .ccb-google-auto-placed {
  display: block !important;
  visibility: visible !important;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  margin: clamp(12px, 2vw, 20px) 0;
  padding: 0;
  clear: both;
  box-sizing: border-box;
  overflow: hidden;
}

.ccb-ads-anchor:empty {
  min-height: 0;
  margin: 0;
  padding: 0;
}

.ccb-ads-anchor > .google-auto-placed ins.adsbygoogle,
.ccb-ads-anchor > .ccb-google-auto-placed ins.adsbygoogle,
.ccb-ads-zone .google-auto-placed ins.adsbygoogle,
.ccb-ads-zone .ccb-google-auto-placed ins.adsbygoogle {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

/* 若 Auto ad 出現在 grid／flex 列內：改佔滿整列，避免卡片錯位 */
.ccb-ads-zone .features-grid > .google-auto-placed,
.ccb-ads-zone .features-grid > .ccb-google-auto-placed,
.ccb-ads-zone .dashboard-grid > .google-auto-placed,
.ccb-ads-zone .dashboard-grid > .ccb-google-auto-placed,
.ccb-ads-zone .info-grid > .google-auto-placed,
.ccb-ads-zone .info-grid > .ccb-google-auto-placed,
.ccb-ads-zone .games-grid > .google-auto-placed,
.ccb-ads-zone .games-grid > .ccb-google-auto-placed,
.ccb-ads-zone .events-grid > .google-auto-placed,
.ccb-ads-zone .events-grid > .ccb-google-auto-placed,
.ccb-ads-zone .partners-grid > .google-auto-placed,
.ccb-ads-zone .partners-grid > .ccb-google-auto-placed,
.ccb-ads-zone .notes-grid > .google-auto-placed,
.ccb-ads-zone .notes-grid > .ccb-google-auto-placed,
.ccb-ads-zone .row > .google-auto-placed,
.ccb-ads-zone .row > .ccb-google-auto-placed,
.ccb-ads-zone .commands-showcase > .google-auto-placed,
.ccb-ads-zone .commands-showcase > .ccb-google-auto-placed {
  grid-column: 1 / -1;
  flex: 0 0 100%;
  max-width: 100%;
}

.ccb-ads-zone .row > [class*="col-"] + .google-auto-placed,
.ccb-ads-zone .row > [class*="col-"] + .ccb-google-auto-placed {
  flex: 0 0 100%;
  max-width: 100%;
}

/* 沉浸式工作區：Auto ads 若出現於 body 直屬層時不撐破 flex 鏈 */
body.page-content-viewer > .google-auto-placed,
body.page-content-viewer > .ccb-google-auto-placed {
  flex: 0 0 auto;
}

/* 沉浸式內容區：Auto ads 在可捲動主舞台內（筆記、文檔、工作區等） */
body.page-content-viewer .cv-stage__scroll .ccb-ads-anchor {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: clamp(12px, 2vw, 20px) 0;
}

body.page-content-viewer .cv-stage__scroll .google-auto-placed,
body.page-content-viewer .cv-stage__scroll .ccb-google-auto-placed {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: clamp(12px, 2vw, 20px) 0;
  padding: 0;
  clear: both;
  box-sizing: border-box;
  overflow: hidden;
}

body.page-content-viewer .cv-stage__scroll .google-auto-placed ins.adsbygoogle,
body.page-content-viewer .cv-stage__scroll .ccb-google-auto-placed ins.adsbygoogle {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

body.page-content-viewer .cv-stage__scroll .ccb-ads-anchor > .google-auto-placed,
body.page-content-viewer .cv-stage__scroll .ccb-ads-anchor > .ccb-google-auto-placed {
  margin: 0;
  padding: 0;
}

/* 列表頁錨點帶：與 notes-grid 等並排時佔滿整列 */
body.page-content-viewer--notes-list .cv-stage__scroll .ccb-ads-anchor,
body.page-content-viewer--workspace .cv-stage__scroll .ccb-ads-anchor {
  clear: both;
}

/* 筆記列表：main 標記 ccb-ads-exclude 後的錯位 fallback（錨點內仍由上方規則顯示） */
body.page-content-viewer--notes-list #mainContent.ccb-ads-zone > .google-auto-placed,
body.page-content-viewer--notes-list #mainContent.ccb-ads-zone > .ccb-google-auto-placed,
body.page-content-viewer--notes-list > .google-auto-placed,
body.page-content-viewer--notes-list > .ccb-google-auto-placed {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* 一般內容頁：錨點帶與 Auto ads 置中、不超出主欄 */
.gaming-container .ccb-ads-anchor,
.activity-page .ccb-ads-anchor,
.partners-page .ccb-ads-anchor,
.game-detail-container .ccb-ads-anchor,
.lfg-container .ccb-ads-anchor,
.partner-detail-page .ccb-ads-anchor {
  display: block;
  width: min(100%, 1200px);
  max-width: 1200px;
  margin: clamp(12px, 2vw, 20px) auto;
  padding: 0 clamp(12px, 3vw, 24px);
  clear: both;
  box-sizing: border-box;
}

.gaming-container .ccb-ads-anchor > .google-auto-placed,
.gaming-container .ccb-ads-anchor > .ccb-google-auto-placed,
.activity-page .ccb-ads-anchor > .google-auto-placed,
.activity-page .ccb-ads-anchor > .ccb-google-auto-placed,
.partners-page .ccb-ads-anchor > .google-auto-placed,
.partners-page .ccb-ads-anchor > .ccb-google-auto-placed,
.game-detail-container .ccb-ads-anchor > .google-auto-placed,
.game-detail-container .ccb-ads-anchor > .ccb-google-auto-placed,
.lfg-container .ccb-ads-anchor > .google-auto-placed,
.lfg-container .ccb-ads-anchor > .ccb-google-auto-placed,
.partner-detail-page .ccb-ads-anchor > .google-auto-placed,
.partner-detail-page .ccb-ads-anchor > .ccb-google-auto-placed {
  display: block !important;
  visibility: visible !important;
  width: 100%;
  max-width: 100%;
  margin: clamp(12px, 2vw, 20px) 0;
  padding: 0;
  clear: both;
  box-sizing: border-box;
  overflow: hidden;
}

.lfg-main > .ccb-ads-anchor {
  grid-column: 1 / -1;
  max-width: 100%;
  padding: 0;
}
.ad-slot.ad-reward {
  margin: 12px auto;
  width: min(100%, 1200px);
  border-radius: 8px;
  box-sizing: border-box;
}

.ad-slot.ad-reward--hidden {
  display: none !important;
}

.ad-slot.ad-reward ins.adsbygoogle {
  display: block;
  width: 100%;
  min-width: 250px;
}

/* --- Cookie 橫幅與底部固定 UI 留白 --- */
html.consent-pending .page-content-viewer .cv-stage__scroll {
  padding-bottom: calc(
    120px + var(--cv-dock-zone, 88px) + var(--safe-bottom, env(safe-area-inset-bottom, 0px))
  ) !important;
}

html.consent-pending .gaming-container,
html.consent-pending .lfg-container,
html.consent-pending .invite-page .invite-container,
html.consent-pending .partners-page,
html.consent-pending .event-detail-page {
  padding-bottom: calc(24px + 120px + var(--safe-bottom, env(safe-area-inset-bottom, 0px)));
}

@media (max-width: 576px) {
  html.consent-pending .page-content-viewer .cv-stage__scroll {
    padding-bottom: calc(
      100px + var(--cv-dock-zone, 88px) + var(--safe-bottom, env(safe-area-inset-bottom, 0px))
    ) !important;
  }

  html.consent-pending .gaming-container,
  html.consent-pending .lfg-container,
  html.consent-pending .invite-page .invite-container,
  html.consent-pending .partners-page,
  html.consent-pending .event-detail-page {
    padding-bottom: calc(16px + 100px + var(--safe-bottom, env(safe-area-inset-bottom, 0px)));
  }
}

#consent-banner.consent-banner.show {
  z-index: 2147483647 !important;
  pointer-events: auto !important;
}
