/* Atualização 151 - Redes flutuantes 9:16 e Agenda moderna
   Apenas CSS. Não altera banco, loader ou scripts. */

/* =============================
   VEM VER NAS REDES — STORY 9:16
   ============================= */
#social.social-wall,
.social-wall#social{
  position:relative!important;
  overflow:hidden!important;
  padding-top:clamp(76px,8vw,126px)!important;
  padding-bottom:clamp(78px,9vw,132px)!important;
}

#social .social-wall-title,
.social-wall .social-wall-title{
  text-align:center!important;
  width:min(960px,calc(100vw - 32px))!important;
  margin:0 auto!important;
}

#social .social-wall-title h2,
.social-wall .social-wall-title h2{
  font-family:"Rye", Georgia, serif!important;
  text-align:center!important;
  line-height:.92!important;
  letter-spacing:.02em!important;
}

#social .social-fan,
.social-wall .social-fan{
  display:flex!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:clamp(14px,2vw,28px)!important;
  width:min(1240px,calc(100vw - 40px))!important;
  max-width:1240px!important;
  height:auto!important;
  min-height:0!important;
  margin:clamp(34px,5vw,68px) auto 0!important;
  padding:clamp(10px,1.5vw,18px) 0!important;
  overflow:visible!important;
  transform:none!important;
  perspective:none!important;
}

#social .social-card,
.social-wall .social-fan .social-card{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex:0 1 clamp(190px,20vw,270px)!important;
  width:clamp(190px,20vw,270px)!important;
  aspect-ratio:9/16!important;
  height:auto!important;
  min-height:0!important;
  border-radius:clamp(18px,2vw,26px)!important;
  border:1px solid rgba(218,174,86,.46)!important;
  background:#17110b!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transform:translate3d(0,0,0)!important;
  rotate:0deg!important;
  translate:0 0!important;
  scale:1!important;
  z-index:1!important;
  transition:border-color .28s ease, filter .28s ease, transform .28s ease!important;
  animation:social-story-float-151 7s ease-in-out infinite!important;
}

#social .social-card:nth-child(2n),
.social-wall .social-card:nth-child(2n){ animation-delay:-2.2s!important; }
#social .social-card:nth-child(3n),
.social-wall .social-card:nth-child(3n){ animation-delay:-4.1s!important; }

@keyframes social-story-float-151{
  0%,100%{ transform:translate3d(0,0,0)!important; }
  50%{ transform:translate3d(0,-9px,0)!important; }
}

#social .social-card::before,
.social-wall .social-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.08) 38%,rgba(0,0,0,.74))!important;
}

#social .social-card img,
.social-wall .social-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:none!important;
  filter:saturate(1.04) contrast(1.04)!important;
}

#social .social-card span,
#social .social-card b,
.social-wall .social-card span,
.social-wall .social-card b{
  position:relative!important;
  z-index:2!important;
}

#social .social-card span,
.social-wall .social-card span{
  align-self:flex-start!important;
  margin:14px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  border:1px solid rgba(218,174,86,.46)!important;
  background:rgba(16,10,5,.46)!important;
  color:#f4d483!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  backdrop-filter:blur(10px)!important;
}

#social .social-card b,
.social-wall .social-card b{
  margin:auto 16px 18px!important;
  color:#fff5dc!important;
  font-family:"Rye", Georgia, serif!important;
  font-size:clamp(18px,2vw,24px)!important;
  line-height:1.08!important;
  text-shadow:none!important;
}

#social .social-card:hover,
#social.in-view .social-card:hover,
#social.fan-open .social-card:hover,
#social.rodagem-social-fan-open .social-card:hover,
#social.social-animated .social-card:hover,
.social-wall .social-card:hover,
.social-wall.in-view .social-card:hover,
.social-wall.fan-open .social-card:hover,
.social-wall.rodagem-social-fan-open .social-card:hover,
.social-wall.social-animated .social-card:hover{
  border-color:rgba(244,201,104,.92)!important;
  filter:brightness(1.04)!important;
  transform:translate3d(0,-12px,0)!important;
  rotate:0deg!important;
  scale:1!important;
  box-shadow:none!important;
}

#social .social-card:hover img,
.social-wall .social-card:hover img{
  transform:none!important;
  filter:saturate(1.1) contrast(1.06)!important;
}

@media (max-width:900px){
  #social .social-fan,
  .social-wall .social-fan{
    width:100vw!important;
    max-width:100vw!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:8px 18px 24px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #social .social-card,
  .social-wall .social-fan .social-card{
    flex:0 0 min(72vw,270px)!important;
    width:min(72vw,270px)!important;
    scroll-snap-align:center!important;
    animation:none!important;
  }
}

/* =============================
   AGENDA — VISUAL MODERNO PREMIUM
   ============================= */
#shows.shows,
.shows#shows{
  position:relative!important;
  overflow:hidden!important;
  padding-top:clamp(72px,8vw,126px)!important;
  padding-bottom:clamp(70px,8vw,120px)!important;
  background:
    radial-gradient(circle at 18% 5%,rgba(215,171,79,.16),transparent 34%),
    linear-gradient(180deg,#f3ead9 0%,#e6d4b4 52%,#d7bd8f 100%)!important;
  color:#1d1309!important;
}

#shows::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(29,18,9,.05) 1px,transparent 1px),
    linear-gradient(180deg,rgba(29,18,9,.04) 1px,transparent 1px)!important;
  background-size:38px 38px!important;
  opacity:.42!important;
}

#shows .section-heading,
#shows .shows-heading-premium,
#shows .shows-heading-099,
#shows .shows-heading-100{
  position:relative!important;
  z-index:2!important;
  text-align:center!important;
  margin:0 auto clamp(28px,4vw,52px)!important;
  justify-content:center!important;
}

#shows .section-heading h2,
#shows .shows-heading-premium h2,
#shows .shows-heading-099 h2,
#shows .shows-heading-100 h2{
  font-family:"Rye", Georgia, serif!important;
  text-align:center!important;
  color:#241307!important;
  font-size:clamp(44px,7vw,92px)!important;
  letter-spacing:.025em!important;
  text-shadow:none!important;
}

#shows .section-heading h2 span,
#shows .shows-heading-premium h2 span{ color:#b7832f!important; }

#shows .shows-carousel,
#shows .shows-carousel-099{
  position:relative!important;
  z-index:2!important;
  width:min(1180px,calc(100vw - 40px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:48px 1fr 48px!important;
  gap:clamp(10px,1.5vw,18px)!important;
  align-items:center!important;
}

#shows .shows-carousel__viewport{
  overflow:hidden!important;
  width:100%!important;
  padding:6px!important;
}

#shows .shows-carousel__track{
  display:flex!important;
  gap:clamp(14px,1.6vw,22px)!important;
  align-items:stretch!important;
}

#shows .show-ticket-card,
#shows .show-ticket-card-v100,
#shows .show-ticket-card-v105,
#shows .show-ticket-card-v106{
  position:relative!important;
  flex:0 0 calc((100% - 44px)/3)!important;
  min-width:0!important;
  min-height:190px!important;
  display:grid!important;
  grid-template-columns:112px 1fr!important;
  align-items:center!important;
  gap:18px!important;
  padding:24px 22px!important;
  border-radius:28px!important;
  border:1px solid rgba(92,54,18,.22)!important;
  background:linear-gradient(135deg,rgba(255,250,237,.92),rgba(231,209,166,.86))!important;
  color:#201208!important;
  text-decoration:none!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transition:border-color .28s ease, filter .28s ease!important;
}

#shows .show-ticket-card::before,
#shows .show-ticket-card::after{
  box-shadow:none!important;
  filter:none!important;
}

#shows .show-ticket-card:hover{
  border-color:rgba(174,119,38,.54)!important;
  filter:brightness(1.02)!important;
  transform:none!important;
  box-shadow:none!important;
}

#shows .show-ticket-icon-v100,
#shows .show-ticket-icon-v105{
  position:absolute!important;
  left:33px!important;
  top:50%!important;
  width:96px!important;
  height:96px!important;
  transform:translateY(-50%)!important;
  opacity:.16!important;
  z-index:0!important;
  pointer-events:none!important;
  transition:transform .28s ease, opacity .28s ease!important;
}

#shows .show-ticket-card:hover .show-ticket-icon-v100,
#shows .show-ticket-card:hover .show-ticket-icon-v105{
  transform:translateY(-50%) rotate(-5deg) scale(1.04)!important;
  opacity:.22!important;
}

#shows .show-ticket-icon-v100 img,
#shows .show-ticket-icon-v105 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

#shows .show-ticket-card time{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:98px!important;
  height:118px!important;
  border-radius:22px!important;
  background:#201208!important;
  color:#f7ddb0!important;
  box-shadow:none!important;
}

#shows .show-ticket-card time b{
  font-family:"Rye", Georgia, serif!important;
  font-size:clamp(38px,4vw,58px)!important;
  line-height:.88!important;
  font-weight:400!important;
}

#shows .show-ticket-card time span{
  margin-top:8px!important;
  font-size:12px!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

#shows .show-ticket-info-v100,
#shows .show-ticket-info-v105{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
}

#shows .show-ticket-info-v100 strong,
#shows .show-ticket-info-v105 strong{
  display:block!important;
  width:100%!important;
  color:#1f1208!important;
  font-family:"Rye", Georgia, serif!important;
  font-size:clamp(22px,2.4vw,34px)!important;
  line-height:1.02!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:none!important;
}

#shows .show-ticket-title-v105,
#shows .show-ticket-info-v100 small,
#shows .show-ticket-info-v105 small{
  display:block!important;
  width:100%!important;
  color:#6f451b!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

#shows .show-ticket-info-v100 i,
#shows .show-ticket-info-v105 i{
  color:#8a642e!important;
  font-size:12px!important;
  font-style:normal!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

#shows .shows-carousel__arrow{
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  border:1px solid rgba(81,45,12,.22)!important;
  background:#201208!important;
  color:#f2c66c!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  transition:filter .22s ease,border-color .22s ease!important;
}

#shows .shows-carousel__arrow:hover{
  filter:brightness(1.12)!important;
  border-color:rgba(218,174,86,.72)!important;
  transform:none!important;
}

#shows .audio-platform-strip,
#shows .audio-platform-strip-114{
  position:relative!important;
  z-index:2!important;
  margin:clamp(28px,4vw,48px) auto 0!important;
  box-shadow:none!important;
}

@media (max-width:980px){
  #shows .shows-carousel,
  #shows .shows-carousel-099{
    width:calc(100vw - 26px)!important;
    grid-template-columns:38px 1fr 38px!important;
    gap:8px!important;
  }
  #shows .show-ticket-card,
  #shows .show-ticket-card-v100,
  #shows .show-ticket-card-v105,
  #shows .show-ticket-card-v106{
    flex:0 0 min(82vw,360px)!important;
    grid-template-columns:90px 1fr!important;
    min-height:165px!important;
    padding:20px 18px!important;
    border-radius:24px!important;
  }
  #shows .show-ticket-card time{width:82px!important;height:104px!important;}
  #shows .show-ticket-icon-v100,
  #shows .show-ticket-icon-v105{left:24px!important;width:82px!important;height:82px!important;}
}

@media (max-width:560px){
  #shows{padding-top:64px!important;padding-bottom:74px!important;}
  #shows .shows-carousel,
  #shows .shows-carousel-099{
    display:block!important;
    width:100vw!important;
  }
  #shows .shows-carousel__arrow{display:none!important;}
  #shows .shows-carousel__viewport{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 16px 18px!important;
  }
  #shows .shows-carousel__track{gap:14px!important;}
  #shows .show-ticket-card,
  #shows .show-ticket-card-v100,
  #shows .show-ticket-card-v105,
  #shows .show-ticket-card-v106{
    flex:0 0 84vw!important;
    scroll-snap-align:center!important;
  }
}
