/* 059 — Correção final do Hero scroll-scrub, datas desktop e limpeza mobile
   Esta camada fica depois da 058 para neutralizar conflitos antigos sem alterar o layout mobile aprovado. */

html{
  scroll-behavior:auto!important;
  overflow-x:clip!important;
}
body{
  overflow-x:clip!important;
}

img,video,iframe{max-width:100%;}

@media (min-width:769px){
  body main > .hero-stage,
  body main > .hero-stage.hero-stage--scrub-locked,
  body main > .hero-stage.hero-stage--scroll-scrub-058,
  body main > .hero-stage.hero-stage--scroll-scrub-059,
  body main > .hero-stage.has-scroll-video{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:var(--rodagem-hero-stage-height, 230svh)!important;
    min-height:var(--rodagem-hero-stage-height, 230svh)!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    background:#050705!important;
    overflow:visible!important;
    contain:layout paint!important;
    overflow-anchor:none!important;
  }

  body main > .hero-stage > .hero,
  body main > .hero-stage.hero-stage--scroll-scrub-059 > .hero{
    position:sticky!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#050705!important;
    transform:none!important;
    will-change:auto!important;
    contain:layout paint style!important;
  }

  .hero-stage + .marquee{
    margin-top:0!important;
    position:relative!important;
    z-index:5!important;
  }

  .hero--scroll-video .hero-art{
    opacity:1!important;
  }
  .hero--scroll-video .hero-scroll-video{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#050705!important;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
    pointer-events:none!important;
  }
  .hero--scroll-video .hero-art,
  .hero--scroll-video .hero-gradient-glow,
  .hero--scroll-video .hero-depth-scene,
  .hero--scroll-video .hero-light-sweep,
  .hero--scroll-video .hero-cinema-mask,
  .hero--scroll-video .hero-grain,
  .hero--scroll-video .hero-copy,
  .hero--scroll-video .scroll-cue{
    position:relative;
    z-index:2;
  }
  .hero--scroll-video .hero-art{
    position:absolute!important;
    z-index:0!important;
  }

  /* Agenda desktop: datas alinhadas e estáveis */
  .shows .show-list{
    width:100%!important;
  }
  .shows .show-row{
    grid-template-columns:minmax(112px,132px) minmax(0,1fr) auto 42px!important;
    align-items:center!important;
    column-gap:clamp(24px,3vw,48px)!important;
    padding:20px 12px!important;
  }
  .shows .show-row time{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    align-items:baseline!important;
    gap:8px!important;
    min-width:0!important;
    white-space:nowrap!important;
    text-align:left!important;
    line-height:1!important;
    font-variant-numeric:tabular-nums!important;
  }
  .shows .show-row time b{
    display:block!important;
    width:46px!important;
    margin:0!important;
    text-align:right!important;
    font-size:clamp(1.45rem,2.2vw,2.15rem)!important;
    line-height:.92!important;
    letter-spacing:-.07em!important;
  }
  .shows .show-row > div,
  .shows .show-row .tag,
  .shows .show-row .arrow{
    min-width:0!important;
  }
}

@media (max-width:768px){
  html,body{
    scroll-behavior:auto!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  body{
    touch-action:pan-y!important;
    background:#070907!important;
  }

  /* Elementos decorativos removidos do index.php na 059; estas regras cobrem cache/arquivos antigos. */
  .cursor-glow,.cursor-ring,.cursor-dot,.scroll-progress,
  .hero-gradient-glow,.hero-light-sweep,.hero-cinema-mask,
  .hero-depth-scene,.hero-subject,.hero-float{
    display:none!important;
  }

  .video-intro,
  .video-intro__media{
    display:none!important;
  }

  .hero-stage,
  .hero-stage.hero-stage--scroll-scrub-058,
  .hero-stage.hero-stage--scroll-scrub-059,
  .hero-stage.has-scroll-video{
    position:relative!important;
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
    contain:layout paint!important;
    --rodagem-hero-stage-height:auto!important;
  }
  .hero-stage > .hero,
  .hero{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:100svh!important;
    max-height:none!important;
    transform:none!important;
    will-change:auto!important;
    filter:none!important;
    contain:layout paint!important;
  }
  .hero-scroll-video{
    display:none!important;
  }
  .hero-art{
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
    background-position:center top!important;
  }
  .reveal,
  .photo-card,.video-card,.social-card,.music-slide,.timeline-track{
    transform:none!important;
    will-change:auto!important;
    filter:none!important;
  }
  .reveal:not(.visible){
    opacity:1!important;
  }
  .section,.music,.shows,.gallery,.videos,.about,.social-wall,.contact{
    content-visibility:auto;
    contain-intrinsic-size:850px;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-stage{height:auto!important;min-height:auto!important;}
  .hero-stage>.hero{position:relative!important;}
  .hero-scroll-video{display:none!important;}
}
