/* Monitech ad layout safety (CLS).
   Every Monitech ad unit is printed inside a reserved box whose height is set
   before Google's script runs, so a filled ad never pushes the content below it.
   Heights come from Control Center > Ads (CSS variables printed inline):
   --ajzjp-ad-m phones, --ajzjp-ad-d desktop in-content/in-feed, --ajzjp-ad-b desktop header/footer banners.
   Unfilled units keep their box (light background) so nothing in view moves;
   served ads are never hidden. */
:root{--ajzjp-ad-m:280px;--ajzjp-ad-d:250px;--ajzjp-ad-b:100px;--ajzjp-ad-label:22px}
.ajzjp-ad:empty,.ajzjp-site-custom-area:empty{display:none!important}

/* Reserved box. Label height is fixed so the box height is known up front. */
html body .ajzjp-ad{box-sizing:border-box;display:block;clear:both;width:100%;max-width:100%;margin:22px auto;text-align:center;overflow:visible!important;contain:none!important;min-height:0!important}
html body .ajzjp-ad>.ajzjp-ad-label{display:block;height:16px;margin:0 0 6px;padding:0;line-height:16px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ajzjp-muted,#6b7280);overflow:hidden}
html body .ajzjp-ad>ins.adsbygoogle{display:block!important;width:100%;max-width:100%;margin-inline:auto;min-height:var(--ajzjp-ad-m)!important}
@media (min-width:768px){
  html body .ajzjp-ad{contain:layout style!important}
  html body .ajzjp-ad>ins.adsbygoogle{min-height:var(--ajzjp-ad-d)!important}
  html body .ajzjp-ad.ajzjp-ad--banner>ins.adsbygoogle{min-height:var(--ajzjp-ad-b)!important}
}
/* Unfilled: keep the box (no shift for content in view), show a calm placeholder. */
html body .ajzjp-ad>ins.adsbygoogle[data-ad-status="unfilled"]{display:block!important;background:#f5f6f8;border-radius:6px}
html body .ajzjp-ad.ajzjp-ad--collapsed{display:none!important}

/* Device rules (Control Center > Ads > "Show on"). CSS only: cached HTML is the same for everyone. */
@media (max-width:767px){html body .ajzjp-ad--desktop,html body .ajzjp-ad-area--desktop{display:none!important}}
@media (min-width:768px){html body .ajzjp-ad--mobile,html body .ajzjp-ad-area--mobile{display:none!important}}

/* Ads inside list/grid layouts span the full row; sidebars that become 2-column grids on phones give the ad the full width. */
.ajzjp-list>.ajzjp-ad,.ajzjp-company-grid>.ajzjp-ad,.monitech-post-archive-list>.ajzjp-ad,.ajz-studio-sidebar>.ajzjp-ad{grid-column:1/-1!important;flex:0 0 100%!important;width:100%!important}

/* Header/footer custom areas: responsive pasted units get the banner reserve; fixed leaderboards are re-sized per screen width. */
.ajzjp-site-custom-area ins.adsbygoogle{max-width:100%}
.ajzjp-site-custom-area ins.adsbygoogle[data-ad-format]{display:block;min-height:var(--ajzjp-ad-m)}
@media (min-width:768px){.ajzjp-site-custom-area ins.adsbygoogle[data-ad-format]{min-height:var(--ajzjp-ad-b)}}
ins.adsbygoogle.ajzjp-fx-728x90,ins.adsbygoogle.ajzjp-fx-970x90,ins.adsbygoogle.ajzjp-fx-468x60{display:inline-block;width:320px;height:100px}
ins.adsbygoogle.ajzjp-fx-970x250{display:inline-block;width:300px;height:250px}
@media (min-width:500px){ins.adsbygoogle.ajzjp-fx-728x90,ins.adsbygoogle.ajzjp-fx-970x90,ins.adsbygoogle.ajzjp-fx-468x60{width:468px;height:60px}}
@media (min-width:800px){ins.adsbygoogle.ajzjp-fx-728x90,ins.adsbygoogle.ajzjp-fx-970x90,ins.adsbygoogle.ajzjp-fx-970x250{width:728px;height:90px}}
@media (min-width:1010px){ins.adsbygoogle.ajzjp-fx-970x90{width:970px;height:90px}ins.adsbygoogle.ajzjp-fx-970x250{width:970px;height:250px}}

/* Google Auto ads: keep auto-placed units inside the column and away from text.
   Never hidden or resized; only overflow and spacing are controlled. */
.google-auto-placed{max-width:100%!important;clear:both;margin:18px auto!important;box-sizing:border-box}
.google-auto-placed ins.adsbygoogle{max-width:100%!important}
