/* ads.css — Ad slot styling, overlay, no-overflow containment */

/* ═══════════════════════════════════
   AD SLOTS (In-content banners)
   ═══════════════════════════════════ */
.ad-slot {
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
}

.ad-slot--banner {
  max-height: 280px;
  min-height: 100px;
  padding: var(--space-md) 0;
}

.ad-slot--banner .adsbygoogle {
  display: block !important;
  width: 100% !important;
  max-height: 280px !important;
}

/* Menu-specific pinned ad wrapper */
.menu-ad-wrap {
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
  max-height: 100px;
  background: rgba(0,0,0,0.2);
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* Hide ads during active gameplay */
body.game-active .ad-slot,
body.game-active .menu-ad-wrap {
  display: none;
}

/* ═══════════════════════════════════
   AD OVERLAY (shown while loading ad)
   ═══════════════════════════════════ */
.ad-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  z-index: 9000;
  transition: opacity 0.3s;
  color: var(--text-muted);
  font-size: 1rem;
  font-family: inherit;
  font-weight: 700;
}

.ad-overlay.visible {
  opacity: 1;
  pointer-events: auto;
}
