.adsbygoogle {
  display: block;
  min-height: 90px;
  width: 100%;
}

.ad-slot,
.ad-container,
.ad-wrapper,
.loan-ad,
[aria-label="Advertisement"] {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  min-height: 90px;
  overflow: hidden;
  width: 100%;
}

.ad-slot .adsbygoogle,
.ad-container .adsbygoogle,
.ad-wrapper .adsbygoogle,
.loan-ad .adsbygoogle {
  min-height: 90px;
}

@media (min-width: 768px) {
  .adsbygoogle[data-ad-format="auto"],
  .adsbygoogle[data-full-width-responsive="true"] {
    min-height: 120px;
  }
}

/* DEF-009: hide ad placeholder containers that never rendered an ad. */
.ad-placeholder:empty,
.ad-box:empty {
  display: none;
}
/* SYS-002: collapse the top-of-page ad slot until AdSense actually fills it,
   so the calculator stays above the fold. When status becomes "filled" the
   :has() selector flips off and the slot reflows back in. Unfilled stays hidden. */
.ad-slot--top:not(:has(ins[data-adsbygoogle-status="filled"])),
.ad-slot-top:not(:has(ins[data-adsbygoogle-status="filled"])),
.ad-slot--header:not(:has(ins[data-adsbygoogle-status="filled"])),
.ad-leaderboard:not(:has(ins[data-adsbygoogle-status="filled"])) {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.ad-slot--top:not(:has(ins[data-adsbygoogle-status="filled"])) ins.adsbygoogle,
.ad-slot-top:not(:has(ins[data-adsbygoogle-status="filled"])) ins.adsbygoogle,
.ad-slot--header:not(:has(ins[data-adsbygoogle-status="filled"])) ins.adsbygoogle,
.ad-leaderboard:not(:has(ins[data-adsbygoogle-status="filled"])) ins.adsbygoogle {
  min-height: 0 !important;
  display: none !important;
}
