
/* TEAM TV v4.5 — scroll-aware advertising */
.ttv-scroll-ad{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translate(-50%, calc(100% + 40px));
  width:min(920px, calc(100vw - 36px));
  z-index:9997;
  opacity:0;
  pointer-events:none;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
}
.ttv-scroll-ad.is-visible{
  transform:translate(-50%,0);
  opacity:1;
  pointer-events:auto;
}
.ttv-scroll-ad__inner{
  min-height:88px;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(110deg,#09070d,#281036 48%,#5d126d);
  border:1px solid rgba(208,74,255,.42);
  box-shadow:0 18px 55px rgba(17,0,28,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.ttv-scroll-ad__inner img{
  display:block;
  width:100%;
  max-height:150px;
  object-fit:contain;
}
.ttv-scroll-ad__placeholder{
  padding:18px 28px;
  width:100%;
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
}
.ttv-scroll-ad__placeholder small{
  display:block;
  margin-top:6px;
  color:#dc9cff;
  font-size:12px;
  font-weight:600;
}
.ttv-scroll-ad__tag{
  position:absolute;
  top:8px;
  right:10px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#6b7280;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.ttv-mobile-partners{
  display:none;
}
@media (max-width: 760px){
  .ttv-scroll-ad{
    bottom:10px;
    width:calc(100vw - 22px);
  }
  .ttv-scroll-ad__inner{min-height:78px;border-radius:15px}
  .ttv-scroll-ad__inner img{max-height:112px}
  /* Partner/logo strip becomes the secondary mobile ad surface.
     It appears while scrolling upward and hides while scrolling downward. */
  .ttv-mobile-partners{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:9996;
    display:flex;
    gap:8px;
    padding:8px 10px;
    overflow-x:auto;
    border-radius:16px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(112,42,145,.18);
    box-shadow:0 16px 45px rgba(20,10,30,.22);
    transform:translateY(calc(100% + 30px));
    opacity:0;
    pointer-events:none;
    transition:transform .3s ease,opacity .22s ease;
  }
  .ttv-mobile-partners.is-visible{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .ttv-mobile-partners img{
    width:58px;height:58px;object-fit:contain;flex:0 0 auto;
    border-radius:12px;background:#fff;
  }
}

/* TEAM TV 2026-09-19 — FINAL: geometria dolnego bannera PARTNER.
   Ten arkusz laduje sie po assets/style.css, wiec reguly musza byc tutaj. */
@media (min-width:761px){
  .ttv-scroll-ad{
    width:min(560px,calc(100vw - 36px))!important;
  }
}
.ttv-scroll-ad__inner{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:var(--partner-ratio,6/1)!important;
  padding:0!important;
}
.ttv-scroll-ad__inner > div:not(.ttv-scroll-ad__placeholder){
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
}
.ttv-scroll-ad__inner .ad-slide,
.ttv-scroll-ad__inner .ad-slide.active{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
}
.ttv-scroll-ad__inner .ad-slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
  margin:0!important;
  padding:0!important;
}
@media (max-width:760px){
  .ttv-scroll-ad{width:min(92vw,560px)!important}
}

/* TEAM TV 2026-09-19 — dolny PARTNER = szerokosc srodkowej kolumny (jak gorny). */
@media (min-width:1081px){
  .ttv-scroll-ad{
    width:min(760px,calc(100vw - 36px))!important;
  }
}
@media (min-width:761px) and (max-width:1080px){
  .ttv-scroll-ad{
    width:calc(100vw - 36px)!important;
    max-width:760px!important;
  }
}
@media (max-width:760px){
  .ttv-scroll-ad{
    width:calc(100vw - 22px)!important;
    max-width:none!important;
  }
}
