/* =====================================================================
   smith-ads.css — Shared AdSense container styling (BOTH render paths).
   Loaded on WP pages (enqueued in functions.php) AND custom-app pages
   (linked in the head includes). Single source of truth.

   CLS POLICY: reserve height, NEVER collapse. We do NOT hide unfilled
   units (no display:none[data-ad-status=unfilled], no :has label-hide),
   because collapsing a reserved box after the auction = a downward layout
   shift. An unfilled unit stays as a labeled empty reserved box. Zero CLS.

   Spacing uses only the 4/8/12/16/24 scale.
   ===================================================================== */

.smith-ad{
  display:block;
  margin:24px auto;
  text-align:center;
  max-width:970px;
  box-sizing:border-box;
  contain:layout;            /* a tall fill cannot reflow siblings mid-paint */
  clear:both;
}
.smith-ad .adsbygoogle{ display:block; width:100%; }

/* Mandatory "Sponsored" label. */
.smith-ad__label{
  display:block;
  font:600 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#8a8f98;
  margin:0 0 8px;
  text-align:center;
}

/* Leaderboard (top / pre-footer wide). */
.smith-ad--leaderboard{ max-width:970px; }
.smith-ad--leaderboard .adsbygoogle{ min-height:100px; }      /* mobile 320x100 */
@media (min-width:768px){ .smith-ad--leaderboard .adsbygoogle{ min-height:90px; } } /* 728x90 */

/* In-feed ad CARD: clear break, never imitates a card. Full-row is MANDATORY
   here so it can never sit beside cards / unbalance a flex row. */
.smith-ad--infeed{
  background:rgba(255,255,255,0.04);
  border:1px dashed rgba(120,130,150,0.45);
  border-radius:8px;
  padding:12px;
  margin:16px 0;             /* vertical separation from action buttons */
  flex:0 0 100% !important;  /* full row, always */
  width:100% !important;
  max-width:100% !important;
  list-style:none;
}
.smith-ad--infeed .adsbygoogle{ min-height:280px; }
@media (min-width:768px){ .smith-ad--infeed .adsbygoogle{ min-height:300px; } }

/* In-article (blog single / in-content). */
.smith-ad--inarticle{ max-width:728px; margin:24px auto; }
.smith-ad--inarticle .adsbygoogle{ min-height:250px; }
@media (min-width:768px){ .smith-ad--inarticle .adsbygoogle{ min-height:280px; } }

/* Sidebar / right rail. */
.smith-ad--sidebar{ max-width:300px; margin:16px auto; }
.smith-ad--sidebar .adsbygoogle{ min-height:250px; }

/* Admin debug placeholder (no real <ins>). */
.smith-ad--debug{
  min-height:120px;
  display:flex; align-items:center; justify-content:center;
  border:2px dashed #c0392b; border-radius:8px;
  background:rgba(192,57,43,0.06); color:#c0392b;
  font:600 13px/1.4 monospace; text-align:center; padding:16px;
}
.smith-ad--leaderboard.smith-ad--debug{ min-height:90px; }
.smith-ad--infeed.smith-ad--debug{ min-height:280px; }
