/* Atualização 107 — títulos centralizados, limpeza de sombras e vídeo/fotos refinados */
@import url('https://fonts.googleapis.com/css2?family=Rye&display=swap');

:root{
  --western-title-font: "Rye", Georgia, serif;
  --western-dark: #191207;
  --western-gold: #d7a84f;
  --western-cream: #f5ecd7;
}

/* Remoção das sombras/halos pesados que estavam aparecendo nos cantos e fundos */
main section,
main section::before,
main section::after,
.section,
.section::before,
.section::after,
.shows,
.shows::before,
.shows::after,
.gallery,
.gallery::before,
.gallery::after,
.videos,
.videos::before,
.videos::after,
.social-wall,
.social-wall::before,
.social-wall::after,
.contact,
.contact::before,
.contact::after,
.show-ticket-carousel-v099,
.show-ticket-stage,
.show-ticket-card,
.show-ticket-card-v100,
.videos-v096__layout,
.videos-v096__main,
.videos-v096__card,
.photo-card,
.photo-media,
.social-card,
.contact-card,
.card,
.panel,
[class*="glow"],
[class*="shadow"],
[class*="blur"]{
  box-shadow: none !important;
  filter: none !important;
}

/* Mantém fundos limpos, sem manchas laterais */
.shows::before,
.shows::after,
.gallery::before,
.gallery::after,
.videos::before,
.videos::after,
.social-wall::before,
.social-wall::after,
.contact::before,
.contact::after{
  opacity: 0 !important;
  display: none !important;
}

/* Todos os títulos das seções centralizados e com a mesma fonte */
.section-heading,
.media-heading,
.social-wall-title,
.contact-head,
.music .section-label,
.music-section-title,
.shows-heading-premium,
.gallery .media-heading,
.videos .media-heading,
#about .section-heading,
#contact .contact-head{
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.section-heading h2,
.media-heading h2,
.social-wall-title h2,
.contact-head h2,
.music-section-title,
#shows .section-heading h2,
#photos .media-heading h2,
#videos .media-heading h2,
#social .social-wall-title h2,
#contact .contact-head h2,
#about .section-heading h2{
  font-family: var(--western-title-font) !important;
  text-align: center !important;
  letter-spacing: .025em !important;
  line-height: .94 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 1120px !important;
  text-shadow: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

.section-label,
.media-heading .section-label,
.social-wall-title span,
.contact-head span{
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Corrige corte do título FOTOS */
#photos,
.gallery,
.gallery-sticky,
.gallery .media-heading{
  overflow: visible !important;
}

#photos .media-heading{
  padding-top: clamp(44px, 6vw, 92px) !important;
  padding-bottom: clamp(24px, 3vw, 44px) !important;
  position: relative !important;
  z-index: 8 !important;
}

#photos .media-heading h2{
  display: block !important;
  font-size: clamp(54px, 10vw, 138px) !important;
  line-height: 1.02 !important;
  padding: .08em 0 .12em !important;
  transform: none !important;
  clip-path: none !important;
}

#photos .media-heading h2 span{
  color: var(--western-gold) !important;
}

/* Seção Vídeos: títulos pequenos abaixo das thumbs, nunca em cima */
#videos .media-heading h2{
  color: var(--western-dark) !important;
}

.videos-v096__layout{
  align-items: stretch !important;
  gap: clamp(22px, 3vw, 42px) !important;
}

.videos-v096__side{
  min-width: 0 !important;
}

.videos-v096__scroll{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-content: start !important;
}

.videos-v096__card{
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  position: relative !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
  padding: 0 !important;
  transform: none !important;
}

.videos-v096__card img{
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16/9 !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.videos-v096__card::before,
.videos-v096__card::after,
.videos-v096__card i,
.videos-v096__card span{
  display: none !important;
  content: none !important;
}

.videos-v096__card b{
  display: block !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--western-dark) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: clamp(11px, .76vw, 13px) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 0 2px !important;
  margin: 0 !important;
  text-shadow: none !important;
  max-width: 100% !important;
  white-space: normal !important;
}

.videos-v096__main{
  aspect-ratio: 16/9 !important;
  min-height: auto !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.videos-v096__main img{
  aspect-ratio: 16/9 !important;
  object-fit: cover !important;
}

/* Agenda: mantém título central e limpo */
#shows .shows-heading-premium h2{
  color: var(--western-dark) !important;
}

/* Limpeza de cantos com sombra em botões/setas sem remover identidade */
.show-ticket-nav,
.videos-v096__more,
.music-arrow,
button,
.btn,
.nav-presskit,
.nav-mobile-presskit{
  box-shadow: none !important;
}

@media (max-width: 900px){
  .section-heading h2,
  .media-heading h2,
  .social-wall-title h2,
  .contact-head h2,
  .music-section-title{
    font-size: clamp(42px, 15vw, 86px) !important;
    line-height: 1 !important;
  }

  #photos .media-heading{
    padding-top: 44px !important;
  }

  #photos .media-heading h2{
    font-size: clamp(52px, 18vw, 92px) !important;
  }

  .videos-v096__layout{
    display: block !important;
  }

  .videos-v096__scroll{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-top: 22px !important;
  }

  .videos-v096__card img{
    border-radius: 12px !important;
  }

  .videos-v096__card b{
    font-size: 10px !important;
    letter-spacing: .06em !important;
  }
}

@media (max-width: 560px){
  .videos-v096__scroll{
    grid-template-columns: 1fr !important;
  }
}
