/* V10.7 ad placements: responsive, individually enabled, empty slots never reserve height. */
:root{--vumoo-ad-radius:12px}
.content-wrap:has(#landing-view.active){padding-bottom:0!important}
.front-landing .front-container{padding-bottom:0!important}
.front-landing .front-final{margin-bottom:10px!important}
.front-landing .vumoo-ad-before_footer{margin-bottom:0!important}

.vumoo-ad-slot{box-sizing:border-box;position:relative;width:100%;min-width:0;max-width:100%;margin:16px auto 22px;border:1px solid rgba(255,255,255,.10);border-radius:var(--vumoo-ad-radius);padding:9px 12px;background:linear-gradient(130deg,#151a26,#0e111b);text-align:center;isolation:isolate}
.vumoo-ad-slot .vumoo-ad-label{font-size:10px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:#939bab;margin:0 0 7px}
.vumoo-ad-slot .vumoo-ad-frame{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:var(--ad-min-height,80px);border:0;background:transparent}
.vumoo-ad-slot .vumoo-ad-direct{display:flow-root;position:relative;width:100%;min-height:0;max-width:100%;overflow:visible}
.vumoo-ad-slot .vumoo-ad-direct img,.vumoo-ad-slot .vumoo-ad-direct iframe,.vumoo-ad-slot .vumoo-ad-direct video{max-width:100%;object-fit:contain}
.vumoo-ad-slot.is-pending,.vumoo-ad-slot.is-empty{height:0!important;max-height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;opacity:0;pointer-events:none}
.vumoo-ad-slot.is-ready{height:auto!important;max-height:none!important;overflow:visible!important;opacity:1;pointer-events:auto}
/* Editor previews must always reveal the placement skeleton. */
.vumoo-ad-slot:has(.vumoo-ad-preview){height:auto!important;max-height:none!important;margin:12px auto!important;padding:12px!important;overflow:visible!important;opacity:1}

@media(min-width:768px){.front-landing .vumoo-ad-hero_share_mobile{display:none!important}}
@media(max-width:767px){.front-landing .vumoo-ad-hero_share{display:none!important}}

/* Home hero: optional artwork overlay; never hide the primary title or buttons. */
#hero>.vumoo-ad-home_hero_overlay{position:absolute;z-index:5;right:clamp(15px,5vw,80px);top:50%;transform:translateY(-40%);width:min(340px,27vw);margin:0;background:rgba(8,11,20,.82);backdrop-filter:blur(5px);box-shadow:0 14px 45px #0008}
#home-view>.vumoo-ad-home_after_explore{margin-top:-52px;margin-bottom:38px}
#home-view>.vumoo-ad-home_after_watchlist{margin-top:-52px;margin-bottom:48px}
#home-view>.vumoo-ad-home_before_footer{margin:16px auto 2px}
#home-view .section-heading>.vumoo-ad-slot{flex:0 1 min(410px,40%);margin:0 8px 0 auto;align-self:center;padding:8px;max-width:480px;min-width:0}
#home-view .section-heading>.vumoo-ad-slot.is-pending,#home-view .section-heading>.vumoo-ad-slot.is-empty{flex:0 0 0!important;width:0!important}
#home-view .section-heading>.vumoo-ad-slot.is-ready{flex:0 1 min(410px,40%)}
#home-view .section-heading>.vumoo-ad-slot .vumoo-ad-frame{min-height:var(--ad-min-height,80px)}
/* Keep natural spacing when ad is not actually displayed. */
#home-view>.vumoo-ad-home_after_explore.is-pending,#home-view>.vumoo-ad-home_after_watchlist.is-pending{margin:0!important}
@media(max-width:1100px){#hero>.vumoo-ad-home_hero_overlay{right:16px;width:30vw}}
@media(max-width:800px){#hero>.vumoo-ad-home_hero_overlay{display:none!important}#home-view .section-heading>.vumoo-ad-slot.is-ready{flex:1 1 100%;order:3;margin:10px 0 4px;max-width:100%}}
@media(max-width:540px){.vumoo-ad-slot.is-ready{padding:6px;margin:12px 0 17px}.vumoo-ad-slot .vumoo-ad-label{font-size:9px}.front-landing .vumoo-ad-slot.is-ready{margin:12px 0 14px}}

/* V10.6: never pull the post-collection ad backwards over the hero or CTA. */
#home-view>.vumoo-ad-home_after_explore,
#home-view>.vumoo-ad-home_after_watchlist {
  position:relative!important;
  transform:none!important;
  margin:18px auto 30px!important;
  clear:both;
  z-index:0;
}
#home-view>.vumoo-ad-home_after_explore.is-pending,
#home-view>.vumoo-ad-home_after_watchlist.is-pending,
#home-view>.vumoo-ad-home_after_explore.is-empty,
#home-view>.vumoo-ad-home_after_watchlist.is-empty {
  margin:0!important;
}
/* The intentional hero overlay must stay within its allotted right-side box. */
#hero>.vumoo-ad-home_hero_overlay {
  top:clamp(16px,10%,55px)!important;
  bottom:auto!important;
  transform:none!important;
  right:clamp(15px,4vw,68px)!important;
  width:min(330px,27vw)!important;
  max-height:clamp(110px,34%,185px)!important;
  box-sizing:border-box;
  overflow:hidden!important;
}
#hero>.vumoo-ad-home_hero_overlay .vumoo-ad-frame,
#hero>.vumoo-ad-home_hero_overlay .vumoo-ad-direct {
  max-height:160px;
  overflow:hidden;
}
/* Ad content cannot introduce a second page-wide horizontal scrollbar. */
.vumoo-ad-slot.is-ready { max-width:100%; min-width:0; }
.vumoo-ad-slot .vumoo-ad-direct { overflow-x:clip; }
.vumoo-ad-slot .vumoo-ad-direct > * { max-width:100%; }
@media (max-width:1050px){
  #hero>.vumoo-ad-home_hero_overlay {width:min(270px,27vw)!important;max-height:120px!important;}
}
@media (max-width:800px){
  #hero>.vumoo-ad-home_hero_overlay{display:none!important;}
}


/* V10.7 regression fix: the previous version gave pending sections height:0
   and overflow:hidden before the ad provider could measure its container.
   Let the iframe/direct content render at its configured natural size first;
   collapse it if no creative appears after the bounded detection period. */
.vumoo-ad-slot.is-pending {
  display:block!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  margin:10px auto!important;
  padding:0!important;
  border:0!important;
  opacity:1!important;
  overflow:visible!important;
  background:transparent!important;
  pointer-events:none;
}
.vumoo-ad-slot.is-pending .vumoo-ad-frame,
.vumoo-ad-slot.is-pending .vumoo-ad-direct {
  display:block!important;
  width:100%!important;
  min-height:var(--ad-min-height,100px)!important;
  overflow:visible!important;
}
/* Empty does not retain a frame, label, margin or otherwise impact page flow. */
.vumoo-ad-slot.is-empty {
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.vumoo-ad-slot.is-pending .vumoo-ad-label,
.vumoo-ad-slot.is-empty .vumoo-ad-label {display:none!important}
/* Keep the home hero overlay from crossing its headings and buttons. */
#hero > .vumoo-ad-home_hero_overlay.is-pending {
  position:absolute!important;
  max-height:185px!important;
  overflow:hidden!important;
  margin:0!important;
}
@media(max-width:800px){
  #hero > .vumoo-ad-home_hero_overlay.is-pending {display:none!important}
}
/* Device-specific placements remain mutually exclusive even during loading. */
@media(min-width:768px){
  .front-landing .vumoo-ad-slot.vumoo-ad-hero_share_mobile,
  .front-landing .vumoo-ad-slot.vumoo-ad-hero_share_mobile.is-pending {display:none!important}
}
@media(max-width:767px){
  .front-landing .vumoo-ad-slot.vumoo-ad-hero_share,
  .front-landing .vumoo-ad-slot.vumoo-ad-hero_share.is-pending {display:none!important}
}


/* V10.8: restore user-requested mid-right hero ad location, not top corner.
   Keep it constrained to the artwork, clear of CTA / slide controls. */
#hero > .vumoo-ad-home_hero_overlay,
#hero > .vumoo-ad-home_hero_overlay.is-ready,
#hero > .vumoo-ad-home_hero_overlay.is-pending {
  position:absolute!important;
  z-index:6!important;
  top:50%!important;
  bottom:auto!important;
  right:clamp(26px,5vw,80px)!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  width:min(340px,28vw)!important;
  max-width:calc(100% - 32px)!important;
  max-height:clamp(90px,32vh,170px)!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
}
#hero > .vumoo-ad-home_hero_overlay iframe,
#hero > .vumoo-ad-home_hero_overlay .vumoo-ad-direct {
  display:block;
  max-width:100%!important;
  max-height:160px!important;
  overflow:hidden!important;
}
/* Turned-off/failed advertisements leave no visible hero placeholder. */
#hero > .vumoo-ad-home_hero_overlay.is-empty {display:none!important}
@media(max-width:1060px){
  #hero > .vumoo-ad-home_hero_overlay:not(.is-empty){right:20px!important;width:min(275px,29vw)!important;}
}
@media(max-width:800px){
  #hero > .vumoo-ad-home_hero_overlay{display:none!important}
}


/* V10.9 — HOMEPAGE-ONLY native-ad presentation. Front-page ad layouts are unchanged.
   Third-party iframe pixels cannot be restyled across origins; these rules
   only control the Vumoo-owned container and first-party srcdoc background. */
#home-view .vumoo-home-native-ad.is-ready,
#hero .vumoo-home-native-ad.is-ready {
  box-sizing:border-box;
  background:#111621!important;
  background-image:none!important;
  color:#e9edf5;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  box-shadow:0 9px 25px rgba(0,0,0,.15);
  padding:8px 10px;
  overflow:clip!important;
}
#home-view .vumoo-home-native-ad .vumoo-ad-label,
#hero .vumoo-home-native-ad .vumoo-ad-label {
  text-align:left;
  color:#929db2;
  font-size:10px;
  letter-spacing:.075em;
}
#home-view .vumoo-home-native-ad .vumoo-ad-frame,
#hero .vumoo-home-native-ad .vumoo-ad-frame {
  background:#111621!important;
  border:0!important;
  border-radius:6px;
  overflow:hidden!important;
  width:100%;
  max-width:100%;
  display:block;
}
#home-view .vumoo-home-native-ad .vumoo-ad-direct,
#hero .vumoo-home-native-ad .vumoo-ad-direct {
  background:transparent;
  color:inherit;
  min-width:0;
  max-width:100%;
  overflow-x:clip;
}
#home-view .vumoo-home-native-ad iframe:not(.vumoo-ad-frame),
#hero .vumoo-home-native-ad iframe:not(.vumoo-ad-frame) {
  max-width:100%!important;
  border:0;
}
/* One DOM marker per desired position. Existing two slots are desktop/tablet;
   new ones are mobile-only. Inactive copies do not even execute their code. */
@media(min-width:768px){
  #home-view .vumoo-ad-home_after_watchlist_mobile,
  #home-view .vumoo-ad-home_before_footer_mobile {display:none!important}
}
@media(max-width:767px){
  #home-view .vumoo-ad-home_after_watchlist,
  #home-view .vumoo-ad-home_before_footer {display:none!important}
  #home-view .vumoo-ad-home_after_watchlist_mobile.is-ready,
  #home-view .vumoo-ad-home_before_footer_mobile.is-ready {
    width:100%;
    max-width:100%;
    margin:12px 0 18px!important;
    padding:7px!important;
    overflow:clip!important;
  }
  #home-view .vumoo-ad-home_after_watchlist_mobile .vumoo-ad-frame,
  #home-view .vumoo-ad-home_before_footer_mobile .vumoo-ad-frame {width:100%;height:auto;max-width:100%;}
}

/* Once a homepage creative appears, avoid preserving blank loading height. */
#home-view .vumoo-home-native-ad.is-ready > .vumoo-ad-frame,
#hero .vumoo-home-native-ad.is-ready > .vumoo-ad-frame {min-height:0!important;}
/* Optional utility for admin-managed native HTML card grids. */
#home-view .vumoo-home-native-ad .vumoo-ad-direct .vumoo-native-card-grid,
#hero .vumoo-home-native-ad .vumoo-ad-direct .vumoo-native-card-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;max-width:100%;}
#home-view .vumoo-home-native-ad .vumoo-ad-direct .vumoo-native-card-grid > *,
#hero .vumoo-home-native-ad .vumoo-ad-direct .vumoo-native-card-grid > * {min-width:0;max-width:100%;background:transparent;}
