/* Progress.tz v3.1.1.21 — Advertisement Display Hardening
   Final slot-aware rules for Safari-safe inline advertisements. */

/* Common renderer: allow the creative's intrinsic ratio to drive height. */
.pz-ad-shell.pz-ad-inline-shell{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:16px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.pz-ad-shell.pz-ad-inline-shell.is-empty{display:none!important}
.pz-ad-inline-creative{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:inherit!important;
  background:transparent!important;
  text-decoration:none!important;
  line-height:0!important;
}
.pz-ad-inline-image{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}
.pz-ad-inline-label{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:20px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.72)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:.02em!important;
  pointer-events:none!important;
}
.pz-ad-inline-fallback{
  box-sizing:border-box!important;
  display:none;
  width:100%;
  min-height:88px!important;
  padding:20px!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:var(--pz-surface,var(--panel2,#eef2f6))!important;
  color:var(--pz-text,var(--text,#102033))!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.pz-ad-inline-fallback.is-visible{display:flex!important}

/* Homepage leaderboard. */
.ad-zone.ad-top{
  box-sizing:border-box!important;
  width:100%!important;
  margin:20px 0 24px!important;
  padding:0!important;
  overflow:hidden!important;
}
.ad-zone.ad-top .pz-ad-inline-shell[data-slot="homepage_top"]{
  width:min(100%,1080px)!important;
}

/* Shorts ad is a separate full-width block below the Load More control. */
.pz-shorts-inline-ad-v31112{
  box-sizing:border-box!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
}
.pz-shorts-inline-ad-v31112 .pz-ad-inline-shell[data-slot="shorts_inline"]{
  width:min(100%,900px)!important;
}

/* Story placements. */
.pz-story-ad{
  box-sizing:border-box!important;
  width:100%!important;
  margin:26px 0!important;
  padding:0!important;
  overflow:hidden!important;
}
.pz-story-ad .pz-ad-inline-shell[data-slot="story_inline"],
.pz-story-ad .pz-ad-inline-shell[data-slot="story_footer"]{
  width:min(100%,820px)!important;
}

/* Right rail: creative always fits the rail; never forces its width/height. */
.pz-sidebar-ad{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.pz-sidebar-ad .pz-ad-inline-shell[data-slot="sidebar"]{
  width:100%!important;
  max-width:100%!important;
}
.pz-sidebar-ad .pz-ad-inline-image{
  width:100%!important;
  height:auto!important;
  max-height:420px!important;
  object-fit:contain!important;
}

/* Mobile sticky: compact, safe-area aware and non-obstructive. */
@media (max-width:767px){
  .ad-zone.ad-top{margin:14px 0 18px!important}
  .pz-shorts-inline-ad-v31112{margin-top:18px!important}
  .pz-story-ad{margin:20px 0!important}
  .pz-sidebar-ad{margin:0!important}

  .pz-mobile-ad{
    box-sizing:border-box!important;
    display:block;
    left:10px!important;
    right:10px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    pointer-events:none;
  }
  .pz-mobile-ad .pz-ad-inline-shell{
    width:100%!important;
    max-width:560px!important;
    margin:0 auto!important;
    border-radius:14px!important;
    box-shadow:0 10px 30px rgba(0,0,0,.24)!important;
    pointer-events:auto;
  }
  .pz-mobile-ad .pz-ad-inline-creative{
    border-radius:14px!important;
    background:var(--pz-surface,var(--panel,#fff))!important;
  }
  .pz-mobile-ad .pz-ad-inline-image{
    width:100%!important;
    height:auto!important;
    max-height:96px!important;
    object-fit:contain!important;
    background:var(--pz-surface,var(--panel,#fff))!important;
  }
  .pz-mobile-ad .pz-ad-inline-fallback{
    min-height:62px!important;
    padding:12px 16px!important;
  }
  .pz-mobile-ad .pz-ad-inline-label{
    top:5px!important;
    right:5px!important;
    font-size:9px!important;
    padding:3px 6px!important;
  }
}

/* Tablet: keep ads proportional and inside the content rails. */
@media (min-width:768px) and (max-width:1099px){
  .ad-zone.ad-top{margin:18px 0 22px!important}
  .pz-story-ad{margin:24px 0!important}
  .pz-sidebar-ad .pz-ad-inline-image{max-height:360px!important}
}
