/* 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;
  grid-template-columns:72px minmax(0,1fr)!important;
  padding:13px 14px!important;
}
.lower-content-layout .program-row img{
  width:72px!important;
  height:72px!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;
  }
}

/* Correcoes 08/09/2026: menu estavel, slide limitado e 4 quartos visiveis. */
.nav-dropdown{
  position:relative!important;
}
.nav-dropdown > .submenu{
  top:100%!important;
  margin-top:0!important;
  overflow-wrap:anywhere!important;
}
@media (min-width:901px) and (hover:hover) and (pointer:fine){
  .nav-dropdown:hover > .submenu,
  .nav-dropdown:focus-within > .submenu{
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
  }
}
@media (max-width:900px){
  .navlinks{
    overflow:visible!important;
  }
  .nav-dropdown > .submenu{
    position:static!important;
    width:100%!important;
    min-width:0!important;
  }
  .nav-dropdown.is-open > .submenu{
    display:block!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
  }
}
.hero-content p,
.late-slide-section .hero-content p{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  max-height:calc(1.55em * 2)!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.rooms-section .rooms-row:not(.is-paginated) > .partner-card:nth-child(n+5){
  display:none!important;
}
.rooms-section .rooms-row.is-paginated > .partner-card[hidden]{
  display:none!important;
}
.live-section .program-panel.is-paginated > .program-row[hidden]{
  display:none!important;
}
.program-row-empty{
  opacity:.72!important;
}
.program-row-empty .program-empty-icon{
  width:48px!important;
  height:48px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  background:rgba(255,255,255,.06)!important;
  border:1px dashed rgba(255,255,255,.16)!important;
  color:#8f9aaa!important;
}
.program-row-empty b{
  color:#d6dde7!important;
}
.lower-content-layout .partner-card p{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
