/* 063 — Correções finas: agenda no rodapé do Hero, cursor ativo e leque social restaurado */
:root{
  --rodagem-cursor-x:50vw;
  --rodagem-cursor-y:50vh;
}

/* Agenda do Hero: esquerda + rodapé, nunca no topo */
.hero-stage .hero{
  position:sticky;
}
.hero-stage .hero-copy--schedule,
.hero .hero-copy.hero-copy--schedule{
  position:absolute!important;
  top:auto!important;
  right:auto!important;
  bottom:clamp(22px, 5vh, 64px)!important;
  left:clamp(18px, 4.5vw, 72px)!important;
  width:min(560px, calc(100% - 36px))!important;
  max-width:560px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  transform:none!important;
  translate:none!important;
  z-index:12!important;
  pointer-events:none!important;
  will-change:auto!important;
}
.hero-stage .hero-copy--schedule .hero-bottom,
.hero .hero-copy.hero-copy--schedule .hero-bottom{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  translate:none!important;
  pointer-events:auto!important;
}
.hero-stage .hero-event-stack,
.hero .hero-event-stack{
  width:min(520px, 100%)!important;
  display:grid!important;
  gap:8px!important;
}
.hero-stage .next-event,
.hero .next-event{
  transform:none!important;
  translate:none!important;
  will-change:auto!important;
}

@media (min-width:769px){
  /* Cursor/decorativos ativos no desktop, com posição controlada por JS/CSS vars. */
  .cursor-glow,
  .cursor-ring,
  .cursor-dot,
  .scroll-progress{
    display:block!important;
    pointer-events:none!important;
    opacity:1;
  }
  .cursor-ring,
  .cursor-dot{
    left:0!important;
    top:0!important;
    position:fixed!important;
    transform:translate3d(var(--rodagem-cursor-x), var(--rodagem-cursor-y), 0) translate(-50%, -50%)!important;
    will-change:transform;
  }
  .cursor-glow{
    position:fixed!important;
    left:var(--rodagem-cursor-x)!important;
    top:var(--rodagem-cursor-y)!important;
    transform:translate(-50%, -50%)!important;
    will-change:left, top, transform;
  }

  /* Restaura o leque da seção Vem ver nas redes. */
  .social-wall .social-fan{
    position:relative;
    min-height:clamp(380px, 48vw, 620px);
    display:flex;
    align-items:center;
    justify-content:center;
    perspective:1200px;
    overflow:visible;
  }
  .social-wall .social-card{
    position:absolute;
    left:50%;
    top:50%;
    z-index:var(--fan-z, 1);
    opacity:0;
    transform:
      translate3d(-50%, -50%, 0)
      translateX(0)
      translateY(42px)
      rotate(0deg)
      scale(.88)!important;
    transition:
      transform .85s cubic-bezier(.16,1,.3,1),
      opacity .55s ease,
      filter .45s ease,
      box-shadow .45s ease;
    transform-origin:center bottom;
    will-change:transform, opacity;
  }
  .social-wall.fan-open .social-card,
  .social-wall.in-view .social-card.visible,
  .social-wall.rodagem-social-fan-open .social-card{
    opacity:1!important;
    transform:
      translate3d(-50%, -50%, 0)
      translateX(var(--fan-x, 0px))
      translateY(0)
      rotate(var(--fan-rotate, 0deg))
      scale(1)!important;
  }
  .social-wall.fan-open .social-card:hover,
  .social-wall.rodagem-social-fan-open .social-card:hover{
    transform:
      translate3d(-50%, -50%, 0)
      translateX(var(--fan-x, 0px))
      translateY(-28px)
      rotate(calc(var(--fan-rotate, 0deg) * .72))
      scale(1.045)!important;
    z-index:60!important;
    filter:brightness(1.08) contrast(1.04);
  }
  .social-wall .social-card img{
    transform:scale(1.01);
    transition:transform .6s cubic-bezier(.16,1,.3,1), filter .45s ease;
  }
  .social-wall .social-card:hover img{
    transform:scale(1.075);
  }
}

@media (min-width:769px) and (max-width:1100px){
  .social-wall.fan-open .social-card,
  .social-wall.rodagem-social-fan-open .social-card{
    transform:
      translate3d(-50%, -50%, 0)
      translateX(var(--fan-x-tablet, var(--fan-x, 0px)))
      translateY(0)
      rotate(var(--fan-rotate, 0deg))
      scale(.94)!important;
  }
  .social-wall.fan-open .social-card:hover,
  .social-wall.rodagem-social-fan-open .social-card:hover{
    transform:
      translate3d(-50%, -50%, 0)
      translateX(var(--fan-x-tablet, var(--fan-x, 0px)))
      translateY(-18px)
      rotate(calc(var(--fan-rotate, 0deg) * .72))
      scale(.98)!important;
  }
}

/* Mobile continua leve, mas a agenda também fica no rodapé. */
@media (max-width:768px){
  .hero-stage .hero-copy--schedule,
  .hero .hero-copy.hero-copy--schedule{
    top:auto!important;
    bottom:clamp(18px, 4vh, 36px)!important;
    left:16px!important;
    right:16px!important;
    width:auto!important;
    max-width:none!important;
  }
  .cursor-glow,
  .cursor-ring,
  .cursor-dot,
  .scroll-progress{
    display:none!important;
  }
  .social-wall .social-card{
    transition:transform .35s ease, opacity .35s ease;
  }
}
