/* Lower home layout alignment - 2026-08-17
   Programacao + 4 Quartos parceiros aligned with Ranking.
   There is intentionally NO extra partner banner. */

.lower-content-layout{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(410px,430px)!important;
  gap:20px!important;
  align-items:stretch!important;
  margin-top:24px!important;
}

.lower-content-layout .featured-users-panel{
  display:none!important;
}

/* Right column */
.lower-content-layout .ranking-section{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  height:100%!important;
  min-height:0!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
}
.lower-content-layout .ranking-section>.section-title-row{
  flex:0 0 auto!important;
  margin:0 0 12px!important;
}
.lower-content-layout .ranking-cards{
  flex:1 1 auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
}
.lower-content-layout .ranking-card{
  height:100%!important;
  min-height:0!important;
  padding:16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.lower-content-layout .ranking-title{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  border-bottom:1px solid var(--line)!important;
  padding:0 0 13px!important;
  margin:0 0 14px!important;
}
.lower-content-layout .ranking-title>div:first-of-type{
  min-width:0!important;
  flex:1!important;
}
.lower-content-layout .ranking-title h3{
  margin:0!important;
  font-size:17px!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.lower-content-layout .ranking-title p{
  display:block!important;
  margin:4px 0 0!important;
  line-height:1.35!important;
}
.lower-content-layout .ranking-periods{
  display:flex!important;
  width:auto!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
}
.lower-content-layout .ranking-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-auto-flow:row!important;
  gap:8px!important;
}
.lower-content-layout .ranking-row{
  width:100%!important;
  height:42px!important;
  margin-top:0!important;
}

/* Left column: two equal blocks. This removes the dead space between sections
   and makes the bottom edge line up with the ranking. */
.lower-content-layout .bottom-content-grid{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  align-self:stretch!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.lower-content-layout .bottom-content-grid>.compact-section{
  margin:0!important;
  min-height:0!important;
}
.lower-content-layout .live-section,
.lower-content-layout .rooms-section{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.lower-content-layout .live-section .section-title-row,
.lower-content-layout .rooms-section .section-title-row{
  flex:0 0 auto!important;
  margin:0 0 10px!important;
  min-height:0!important;
}
.lower-content-layout .live-section .section-title-row h2,
.lower-content-layout .rooms-section .section-title-row h2{
  font-size:20px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.lower-content-layout .live-section .section-title-row p,
.lower-content-layout .rooms-section .section-title-row p{
  display:block!important;
  margin-top:4px!important;
}

.lower-content-layout .program-panel,
.lower-content-layout .rooms-row{
  flex:1 1 auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}

.lower-content-layout .program-row{
  height:100%!important;
  min-height:104px!important;
  padding:13px 14px!important;
}
.lower-content-layout .program-row img{
  width:48px!important;
  height:48px!important;
}

.lower-content-layout .partner-card{
  height:100%!important;
  min-height:104px!important;
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  align-items:center!important;
}
.lower-content-layout .partner-card img{
  grid-row:1/3!important;
  width:112px!important;
  height:100%!important;
  min-height:104px!important;
  object-fit:cover!important;
}
.lower-content-layout .partner-card span{
  padding:13px 12px 2px!important;
  font-size:12px!important;
}
.lower-content-layout .partner-card p{
  padding:0 12px 13px!important;
  font-size:10px!important;
}

@media (max-width:900px){
  .lower-content-layout{
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:start!important;
  }
  .lower-content-layout .ranking-section,
  .lower-content-layout .bottom-content-grid{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
  }
  .lower-content-layout .bottom-content-grid{
    grid-template-rows:auto!important;
    gap:16px!important;
  }
  .lower-content-layout .live-section,
  .lower-content-layout .rooms-section,
  .lower-content-layout .ranking-section{
    height:auto!important;
  }
  .lower-content-layout .program-panel,
  .lower-content-layout .rooms-row{
    height:auto!important;
    grid-template-rows:none!important;
  }
  .lower-content-layout .live-section .section-title-row h2,
  .lower-content-layout .rooms-section .section-title-row h2{
    white-space:normal!important;
    font-size:19px!important;
  }
  .lower-content-layout .partner-card img{
    height:100%!important;
  }
  .lower-content-layout .ranking-title{
    flex-wrap:wrap!important;
  }
  .lower-content-layout .ranking-periods{
    width:100%!important;
    margin-left:0!important;
  }
}

@media (max-width:640px){
  .lower-content-layout .program-panel,
  .lower-content-layout .rooms-row{
    grid-template-columns:1fr!important;
  }
  .lower-content-layout .program-row,
  .lower-content-layout .partner-card{
    min-height:92px!important;
  }
  .lower-content-layout .partner-card{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
  .lower-content-layout .partner-card img{
    width:96px!important;
    min-height:92px!important;
  }
}

/* Ajustes: evita corte nos quartos parceiros e acomoda data resumida na programação. */
.lower-content-layout .program-row{
  min-height:118px!important;
  grid-template-rows:auto auto!important;
}
.lower-content-layout .program-time{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  align-items:center!important;
  align-self:center!important;
  color:inherit!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.lower-content-layout .program-time span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  padding:6px 8px!important;
  border-radius:8px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.lower-content-layout .program-time i{
  font-size:11px!important;
}
.lower-content-layout .program-date{
  color:#ffd36a!important;
  background:rgba(255,179,33,.12)!important;
  border-color:rgba(255,179,33,.22)!important;
}
.lower-content-layout .program-hours{
  color:#91d7ff!important;
  background:rgba(55,171,240,.12)!important;
  border-color:rgba(55,171,240,.22)!important;
}
.lower-content-layout .partner-card{
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  min-height:118px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.lower-content-layout .partner-card img{
  grid-column:1!important;
  grid-row:1/3!important;
  width:116px!important;
  min-width:116px!important;
  height:100%!important;
  min-height:118px!important;
  position:relative!important;
  z-index:0!important;
}
.lower-content-layout .partner-card span,
.lower-content-layout .partner-card p{
  grid-column:2!important;
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  margin-left:0!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}
.lower-content-layout .partner-card span{
  padding:14px 14px 3px!important;
  line-height:1.25!important;
  font-size:13px!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.lower-content-layout .partner-card p{
  padding:0 14px 14px!important;
  line-height:1.4!important;
  font-size:11px!important;
}

@media (max-width:640px){
  .lower-content-layout .program-row,
  .lower-content-layout .partner-card{
    min-height:112px!important;
  }
  .lower-content-layout .partner-card{
    grid-template-columns:104px minmax(0,1fr)!important;
  }
  .lower-content-layout .partner-card img{
    width:104px!important;
    min-width:104px!important;
    min-height:112px!important;
  }
}
