/* Atualização 152 - Loader mobile/proporção e Agenda clean
   Corrige texto duplicado do loader, centralização/proporção da logo/porteira e recria a agenda sem retângulos/shadows pesados. */

/* =============================
   LOADER PORTEIRA — TEXTO ÚNICO E LOGO CENTRAL
   ============================= */
.gate-loader,
#gateLoader{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:hidden!important;
  background:#120c06!important;
}

.gate-loader__center,
#gateLoader .gate-loader__center{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:20!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(12px,1.4vw,20px)!important;
  width:min(520px,72vw)!important;
  max-width:72vw!important;
  min-height:0!important;
  text-align:center!important;
  pointer-events:none!important;
}

.gate-loader__center img,
#gateLoader .gate-loader__center img{
  display:block!important;
  width:auto!important;
  max-width:min(390px,58vw)!important;
  max-height:min(190px,24vh)!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  transform:none!important;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.42))!important;
}

.gate-loader__center strong,
#gateLoader .gate-loader__center strong{
  display:block!important;
  max-width:100%!important;
  font-family:"Rye", Georgia, serif!important;
  font-size:clamp(36px,5vw,86px)!important;
  line-height:.92!important;
  color:#fff7dd!important;
  text-align:center!important;
  text-transform:uppercase!important;
  text-shadow:0 18px 44px rgba(0,0,0,.48)!important;
}

.gate-loader__center span,
#gateLoader .gate-loader__center span{
  display:block!important;
  font-family:"DM Mono", monospace!important;
  font-size:clamp(10px,.82vw,13px)!important;
  line-height:1!important;
  letter-spacing:.34em!important;
  text-transform:uppercase!important;
  color:#e3b75b!important;
  white-space:nowrap!important;
}

/* Remove qualquer duplicação gerada por pseudo-elemento antigo. */
.gate-loader__center span::before,
.gate-loader__center span::after,
#gateLoader .gate-loader__center span::before,
#gateLoader .gate-loader__center span::after{
  content:none!important;
  display:none!important;
}

.gate-loader__hint,
#gateLoader .gate-loader__hint{
  left:50%!important;
  transform:translateX(-50%)!important;
  bottom:clamp(24px,5vh,54px)!important;
  z-index:18!important;
  letter-spacing:.22em!important;
  opacity:.78!important;
}

.gate-loader__skip,
#gateLoader .gate-loader__skip{
  right:clamp(16px,2vw,32px)!important;
  bottom:clamp(16px,2vw,32px)!important;
  z-index:25!important;
}

.gate-loader__panel,
#gateLoader .gate-loader__panel{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:50.1vw!important;
  height:100%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
}

.gate-loader__panel--left,
#gateLoader .gate-loader__panel--left{
  left:0!important;
  right:auto!important;
  background-position:right center!important;
}
.gate-loader__panel--right,
#gateLoader .gate-loader__panel--right{
  right:0!important;
  left:auto!important;
  background-position:left center!important;
}

@media (max-width:768px){
  .gate-loader,
  #gateLoader{
    height:100svh!important;
    min-height:100svh!important;
  }
  .gate-loader__center,
  #gateLoader .gate-loader__center{
    width:min(340px,78vw)!important;
    max-width:78vw!important;
    top:48%!important;
    gap:12px!important;
  }
  .gate-loader__center img,
  #gateLoader .gate-loader__center img{
    max-width:min(255px,64vw)!important;
    max-height:118px!important;
  }
  .gate-loader__center strong,
  #gateLoader .gate-loader__center strong{
    font-size:clamp(30px,10vw,52px)!important;
  }
  .gate-loader__center span,
  #gateLoader .gate-loader__center span{
    font-size:10px!important;
    letter-spacing:.22em!important;
  }
  .gate-loader__panel,
  #gateLoader .gate-loader__panel{
    width:50.5vw!important;
    background-size:cover!important;
  }
  .gate-loader__hint,
  #gateLoader .gate-loader__hint{
    bottom:22px!important;
    font-size:9px!important;
  }
  .gate-loader__skip,
  #gateLoader .gate-loader__skip{
    right:14px!important;
    bottom:14px!important;
    font-size:10px!important;
    padding:10px 14px!important;
  }
}

/* =============================
   AGENDA — CLEAN / MODERNA / SEM CAIXAS PESADAS
   ============================= */
#shows.shows,
#shows.shows--dupla-carousel{
  position:relative!important;
  background:#efe7d6!important;
  color:#1c140b!important;
  padding:clamp(86px,9vw,142px) 0 clamp(80px,9vw,132px)!important;
  overflow:hidden!important;
}

#shows::before,
#shows::after,
#shows .shows-carousel::before,
#shows .shows-carousel::after,
#shows .shows-carousel__viewport::before,
#shows .shows-carousel__viewport::after{
  box-shadow:none!important;
  filter:none!important;
}

#shows .shows-heading-premium,
#shows .section-heading{
  margin:0 auto clamp(38px,5vw,72px)!important;
  text-align:center!important;
}

#shows .shows-heading-premium h2,
#shows .section-heading h2{
  font-family:"Rye", Georgia, serif!important;
  text-align:center!important;
  color:#1c140b!important;
  font-size:clamp(54px,9vw,138px)!important;
  line-height:.86!important;
  letter-spacing:.01em!important;
  margin:0!important;
}
#shows .shows-heading-premium h2 span,
#shows .section-heading h2 span{ color:#d7aa4b!important; }

#shows .shows-carousel,
#shows .shows-carousel-099{
  width:min(1220px,calc(100vw - 40px))!important;
  max-width:1220px!important;
  margin:0 auto!important;
  padding:0 clamp(44px,5vw,74px)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
}

#shows .shows-carousel__viewport{
  width:100%!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  padding:0!important;
  margin:0!important;
}

#shows .shows-carousel__track{
  display:flex!important;
  align-items:stretch!important;
  gap:clamp(18px,2.2vw,34px)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  padding:0!important;
}

#shows .show-ticket-card,
#shows .show-ticket-card-v100,
#shows .show-ticket-card-v105,
#shows .show-ticket-card-v106{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:clamp(18px,2vw,28px)!important;
  flex:0 0 calc((100% - clamp(18px,2.2vw,34px)*2)/3)!important;
  min-width:0!important;
  min-height:clamp(132px,12vw,170px)!important;
  padding:clamp(20px,2.4vw,30px) clamp(18px,2.2vw,30px)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  text-decoration:none!important;
  color:#1c140b!important;
  overflow:visible!important;
  isolation:isolate!important;
}

#shows .show-ticket-card::before,
#shows .show-ticket-card::after{
  content:""!important;
  position:absolute!important;
  left:clamp(18px,2vw,28px)!important;
  right:clamp(18px,2vw,28px)!important;
  height:1px!important;
  background:linear-gradient(90deg, transparent, rgba(69,45,20,.24), transparent)!important;
  box-shadow:none!important;
  filter:none!important;
}
#shows .show-ticket-card::before{ top:0!important; }
#shows .show-ticket-card::after{ bottom:0!important; }

#shows .show-ticket-card time{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:clamp(88px,9vw,122px)!important;
  min-width:clamp(88px,9vw,122px)!important;
  height:clamp(88px,9vw,122px)!important;
  color:#140d06!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}

#shows .show-ticket-card time b{
  display:block!important;
  font-family:"Rye", Georgia, serif!important;
  font-size:clamp(50px,6vw,86px)!important;
  line-height:.78!important;
  color:#120b05!important;
  letter-spacing:-.04em!important;
}
#shows .show-ticket-card time span{
  display:block!important;
  margin-top:6px!important;
  font-family:"DM Mono", monospace!important;
  font-size:10px!important;
  letter-spacing:.24em!important;
  color:rgba(28,20,11,.58)!important;
  text-transform:uppercase!important;
}

#shows .show-ticket-icon-v100,
#shows .show-ticket-icon-v105{
  position:absolute!important;
  left:calc(clamp(18px,2vw,28px) + clamp(44px,4.5vw,61px))!important;
  top:calc(50% - clamp(40px,4.2vw,56px))!important;
  transform:translate(-50%,-50%) rotate(-18deg)!important;
  width:clamp(42px,4vw,58px)!important;
  height:clamp(42px,4vw,58px)!important;
  z-index:1!important;
  opacity:.82!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  pointer-events:none!important;
}
#shows .show-ticket-icon-v100 img,
#shows .show-ticket-icon-v105 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
}
#shows .show-ticket-card:hover .show-ticket-icon-v100,
#shows .show-ticket-card:hover .show-ticket-icon-v105{
  transform:translate(-50%,-50%) rotate(-10deg) scale(1.06)!important;
  opacity:.96!important;
}

#shows .show-ticket-info-v100,
#shows .show-ticket-info-v105{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:0!important;
  text-align:left!important;
  color:#1c140b!important;
}
#shows .show-ticket-info-v100 strong,
#shows .show-ticket-info-v105 strong{
  display:block!important;
  max-width:100%!important;
  font-family:"DM Mono", monospace!important;
  font-size:clamp(15px,1.25vw,20px)!important;
  line-height:1.05!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#1b1209!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
#shows .show-ticket-title-v105,
#shows .show-ticket-info-v100 small,
#shows .show-ticket-info-v105 small{
  display:block!important;
  font-family:"DM Mono", monospace!important;
  font-size:10px!important;
  line-height:1.15!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  color:rgba(28,20,11,.62)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
#shows .show-ticket-info-v100 i,
#shows .show-ticket-info-v105 i{
  display:none!important;
}

#shows .shows-carousel__arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:clamp(42px,4vw,58px)!important;
  height:clamp(42px,4vw,58px)!important;
  border-radius:999px!important;
  border:1px solid rgba(120,82,31,.28)!important;
  background:rgba(239,231,214,.68)!important;
  color:#1b1209!important;
  box-shadow:none!important;
  filter:none!important;
  display:grid!important;
  place-items:center!important;
  transition:background .2s ease, border-color .2s ease, color .2s ease!important;
}
#shows .shows-carousel__arrow:hover{
  background:#dbb458!important;
  border-color:#dbb458!important;
  color:#150e07!important;
  transform:translateY(-50%)!important;
}
#shows .shows-carousel__arrow--prev{ left:0!important; }
#shows .shows-carousel__arrow--next{ right:0!important; }

/* Quando houver só 1 ou 2 datas, mantém visual limpo e centralizado. */
#shows.shows-limited .shows-carousel__track{
  justify-content:center!important;
}
#shows.shows-count-1 .show-ticket-card{ flex:0 0 min(520px,100%)!important; }
#shows.shows-count-2 .show-ticket-card{ flex:0 0 min(420px,calc((100% - 24px)/2))!important; }

@media (max-width:980px){
  #shows .shows-carousel{ width:calc(100vw - 28px)!important; padding:0 52px!important; }
  #shows .show-ticket-card{ flex:0 0 calc((100% - 20px)/2)!important; }
}

@media (max-width:680px){
  #shows.shows{ padding:72px 0 82px!important; }
  #shows .shows-heading-premium h2,
  #shows .section-heading h2{ font-size:clamp(48px,16vw,76px)!important; }
  #shows .shows-carousel{ width:100%!important; padding:0 18px!important; overflow:hidden!important; }
  #shows .shows-carousel__viewport{ overflow-x:auto!important; scroll-snap-type:x mandatory!important; -webkit-overflow-scrolling:touch!important; }
  #shows .shows-carousel__track{ gap:14px!important; padding:0 14px!important; }
  #shows .show-ticket-card,
  #shows .show-ticket-card-v100,
  #shows .show-ticket-card-v105,
  #shows .show-ticket-card-v106{
    flex:0 0 min(86vw,360px)!important;
    grid-template-columns:92px 1fr!important;
    min-height:126px!important;
    padding:18px 12px!important;
    scroll-snap-align:center!important;
  }
  #shows .show-ticket-card time{ width:82px!important; min-width:82px!important; height:82px!important; }
  #shows .show-ticket-card time b{ font-size:54px!important; }
  #shows .show-ticket-icon-v100,
  #shows .show-ticket-icon-v105{ left:58px!important; top:30px!important; width:40px!important; height:40px!important; }
  #shows .shows-carousel__arrow{ display:none!important; }
  #shows .show-ticket-info-v100 strong,
  #shows .show-ticket-info-v105 strong{ font-size:14px!important; }
}
