/* Ad placement shells — content comes from admin (Adsterra / Monetag / AdSense) */
.ivd-ad-slot {
  margin: 1rem auto;
  max-width: 100%;
  text-align: center;
  clear: both;
  min-height: 1px;
}

.ivd-ad-body-top {
  margin-top: 0;
  padding: 0.35rem 0.75rem;
}

.ivd-ad-header-below {
  max-width: 970px;
  padding: 0 1rem;
}

.ivd-ad-hero-top,
.ivd-ad-hero-bottom,
.ivd-ad-downloader-below {
  max-width: 728px;
  padding: 0 1rem;
}

.ivd-ad-article-top,
.ivd-ad-article-bottom,
.ivd-ad-inline {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.ivd-ad-inline {
  padding: 0.75rem 0;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.03);
}

.ivd-ad-rail {
  position: fixed;
  top: 88px;
  width: 160px;
  z-index: 40;
  pointer-events: auto;
}

.ivd-ad-rail-sticky {
  position: fixed;
}

.ivd-ad-rail-left {
  left: max(4px, calc(50% - 640px - 180px));
}

.ivd-ad-rail-right {
  right: max(4px, calc(50% - 640px - 180px));
}

body.ivd-ad-sidebars-desktop-only .ivd-ad-rail {
  display: none;
}

@media (min-width: 1280px) {
  body.ivd-ad-sidebars-desktop-only .ivd-ad-rail {
    display: block;
  }
}

@media (min-width: 1280px) {
  body.ivd-ad-sidebars .pf-article-wrap,
  body.ivd-ad-sidebars main {
    position: relative;
  }
}

.ivd-ad-sticky-bottom {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9990;
  margin: 0;
  padding: 0.25rem;
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
}

.ivd-ad-sticky-bottom:empty {
  display: none;
}
