html,
body {
  background: #020617;
}

.site-ad-shell {
  width: 100%;
  min-height: 100vh;
  background: #020617;
}

.side-banner-rail {
  display: none;
  background: #020617;
}

.site-ad-content {
  min-width: 0;
}

.top-sponsored-banner {
  width: min(970px, calc(100% - 24px));
  margin: 18px auto 0;
}

.top-sponsored-banner-link {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(190, 242, 100, 0.18);
  border-radius: 8px;
  background: #0f172a;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
  transition: filter 180ms ease, transform 180ms ease;
}

.top-sponsored-banner-link:hover {
  filter: brightness(1.06);
  transform: translateY(-2px);
}

.top-sponsored-banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.side-banner {
  display: block;
  overflow: clip;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  text-decoration: none;
  transition: filter 180ms ease, transform 180ms ease;
}

.side-banner:hover {
  filter: brightness(1.06);
  transform: translateY(-2px);
}

.side-banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (min-width: 1400px) and (min-height: 620px) {
  .site-ad-shell {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr) 140px;
    gap: 20px;
    align-items: start;
    max-width: 1640px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .site-ad-shell > :not(.side-banner-rail) {
    min-width: 0;
  }

  .side-banner-rail {
    position: sticky;
    top: 92px;
    display: block;
    padding-top: 28px;
    background: #020617;
  }
}

@media (min-width: 1680px) and (min-height: 720px) {
  .site-ad-shell {
    grid-template-columns: 172px minmax(0, 1fr) 172px;
    gap: 24px;
    max-width: 1760px;
    padding: 0 24px;
  }
}
