.rows{
  --pad:48px;
  --gap:14px;
  --min:170px;
  padding-left:0!important;
  padding-right:0!important;
}

.rows .section{
  padding-left:var(--pad)!important;
  padding-right:var(--pad)!important;
  margin-left:0!important;
  margin-right:0!important;
}

.rows .section-head{
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

.rows .section > .row:not(.row-top){
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(var(--min),1fr))!important;
  grid-template-rows:auto!important;
  grid-auto-rows:0!important;
  gap:0 var(--gap)!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  scroll-snap-type:none!important;
}

.rows .section > .row:not(.row-top) > .card{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  margin:0!important;
}

.rows .section > .row:not(.row-top) .poster{
  display:block;
  position:relative;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:12px;
}

.rows .section > .row:not(.row-top) .poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.rows .section > .row:not(.row-top) .ct{
  min-width:0;
}

.rows .section > .row:not(.row-top) .ct strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rows .section > .row.row-top{
  padding:0!important;
  margin:0!important;
  scrollbar-width:none;
}

.rows .section > .row.row-top::-webkit-scrollbar{
  display:none;
}

@media (max-width:900px){
  .rows{
    --pad:24px;
    --gap:12px;
    --min:150px;
  }
}

@media (max-width:640px){
  .rows{
    --pad:16px;
    --gap:10px;
  }

  .rows .section > .row:not(.row-top){
    display:flex!important;
    grid-auto-rows:unset!important;
    gap:var(--gap)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 var(--pad)!important;
    margin:0 calc(var(--pad) * -1)!important;
    scroll-snap-type:x proximity!important;
    scroll-padding-left:var(--pad);
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .rows .section > .row:not(.row-top)::-webkit-scrollbar{
    display:none;
  }

  .rows .section > .row:not(.row-top) > .card{
    flex:0 0 132px!important;
    width:132px!important;
    scroll-snap-align:start;
  }
}