/* Static Ads — slots stay collapsed until the consent module lets ads run
   (html.sc-ok-ads: always in standard mode, after a yes in strict mode).
   Custom-network slots also need marketing consent. No ads = no gap. */
.sb-ad{display:none}
html.sc-ok-ads .sb-ad--adsense{display:block}
html.sc-ok-marketing .sb-ad--custom{display:block}
/* Google had no ad for this slot: give the space back. */
.sb-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none!important}
/* Sections default to 80px top/bottom; an ad shouldn't open a canyon.
   A block's own Style-tab spacing (inline) still wins. */
.sb-section.sb-ad{padding:24px 16px}
.sb-ad__slot,.sb-ad__label{max-width:var(--sb-container,1200px);margin-left:auto;margin-right:auto}
.sb-ad__slot{min-height:var(--sa-h-d);overflow:hidden}
@media (max-width:1024px){.sb-ad__slot{min-height:var(--sa-h-t)}}
@media (max-width:640px){.sb-ad__slot{min-height:var(--sa-h-m)}}
.sb-ad--center{text-align:center}
.sb-ad--right{text-align:right}
.sb-ad__label{font:600 11px/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin:0 0 6px}
/* Builder stand-in: always visible, real reserved size. */
.sb-ad--editor{display:block}
.sb-ad--editor .sb-ad__box{min-height:var(--sa-h-d);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  border:2px dashed #94a3b8;border-radius:8px;background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 10px,#f1f5f9 10px,#f1f5f9 20px);
  color:#475569;font:13px/1.4 system-ui,sans-serif;padding:16px;text-align:center}
.sb-ad--editor .sb-ad__box strong{font-size:15px;color:#0f172a}
