/* ============================================================
   OsakaWire 2.0 — Ad Slot Styles
   Explicit dimensions prevent CLS from ad load.
   Three standard positions: top, mid, bottom.
   ============================================================ */

.ad-slot {
  margin: 32px 0;
  text-align: center;
  overflow: hidden;
}

/* Top slot: horizontal banner, above the fold on mobile */
.ad-slot--top {
  min-height: 90px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 16px 0;
}

/* Mid slot: rectangle, highest CTR — injected after section 3 */
.ad-slot--mid {
  min-height: 250px;
  background: var(--cream-dark);
  padding: 20px 0;
  border: 1px solid var(--rule);
}

/* Bottom slot: horizontal banner, end of article */
.ad-slot--bottom {
  min-height: 90px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 16px 0;
}

/* AdSense container fill */
.ad-slot .adsbygoogle {
  display: block;
  width: 100%;
}

/* Prevent CLS: reserve space before ad loads */
.ad-slot--top .adsbygoogle  { min-height: 90px; }
.ad-slot--mid .adsbygoogle  { min-height: 250px; }
.ad-slot--bottom .adsbygoogle { min-height: 90px; }

/* Responsive: stack to smaller formats on mobile */
@media (max-width: 768px) {
  .ad-slot--top,
  .ad-slot--bottom {
    min-height: 50px;
  }

  .ad-slot--mid {
    min-height: 200px;
  }
}
