/* Neon Sky — 広告枠（templates/partials/ad-slot.html）
   広告未設定時は DOM 自体が出力されないため、余白は残らない */

.ad-slot {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 32px auto;
  overflow: hidden;
  clear: both;
}

.ad-slot__label {
  margin: 0 0 6px;
  color: var(--ns-muted);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.4;
}

.ad-slot__body {
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-align: center;
}

.ad-slot__body iframe,
.ad-slot__body img {
  max-width: 100%;
}

/* 忍者AdMax は枠幅に合わせて左上起点で拡大するため、中央寄せを継承すると右端がはみ出す */
.ad-slot__body .admax-ads { text-align: left; }

/* ゲーム開始ボタン等の操作UIと密着させない */
.ad-slot--spaced { margin-top: 48px; }

/* 開発確認用（AD_SLOT_PLACEHOLDER=1 のときだけ出力される） */
.ad-slot--placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  padding: 12px 16px;
  border: 1px dashed rgba(102, 117, 143, .55);
  border-radius: 12px;
  background: repeating-linear-gradient(135deg, rgba(102, 117, 143, .05) 0 10px, rgba(102, 117, 143, .1) 10px 20px);
  color: var(--ns-muted);
  text-align: center;
}

.ad-slot--placeholder .ad-slot__label { margin: 0; }

.ad-slot__id {
  margin: 2px 0 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .8rem;
  word-break: break-all;
}

@media (max-width: 600px) {
  .ad-slot { margin: 24px auto; }
  .ad-slot--spaced { margin-top: 40px; }
}
