/* Atualização 039 — mobile sem overflow, agenda agrupada e ícones consistentes */
.hero-copy--schedule {
  position: absolute !important;
  z-index: 5;
  left: 4vw;
  bottom: 5vh;
  margin: 0 !important;
  width: min(520px, 92vw);
}
.hero-copy--schedule .hero-bottom { display: block; }
.next-event--group {
  display: block !important;
  width: 100%;
  padding: 18px 20px;
  border: 1px solid color-mix(in srgb, var(--lime) 48%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-body-bg, #070907) 86%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.next-event--group > span { display: block; margin-bottom: 6px; }
.next-event--group > strong { display: block; margin-bottom: 12px; }
.next-event-list { display: grid; gap: 7px; }
.next-event-list > a {
  display: grid;
  grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
  gap: 12px;
  align-items: baseline;
  padding-top: 7px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.next-event-list b { color: var(--paper); font: 700 .68rem var(--mono); overflow-wrap: anywhere; }
.next-event-list small { color: #aeb3aa; font-size: .68rem; overflow-wrap: anywhere; }
.next-event-all { display: inline-flex; margin-top: 13px; color: var(--lime); font: 600 .56rem var(--mono); letter-spacing: .12em; }

.footer-credit, .footer-heart { color: inherit !important; }
.footer-heart {
  position: relative;
  display: inline-block !important;
  width: .72em;
  height: .72em;
  margin: 0 .22em;
  background: currentColor;
  font-size: 0;
  transform: rotate(-45deg);
  vertical-align: -.02em;
}
.footer-heart::before,.footer-heart::after { content:""; position:absolute; width:100%; height:100%; border-radius:50%; background:currentColor; }
.footer-heart::before { top:-50%; left:0; }
.footer-heart::after { top:0; left:50%; }

/* Símbolos desenhados em CSS: iguais em Android, iOS e desktop. */
.icon-up-right,.icon-right,.icon-down,.icon-up {
  position:relative;
  display:inline-block !important;
  width:12px;
  height:12px;
  flex:0 0 12px;
  color:inherit !important;
  font-size:0 !important;
  vertical-align:-1px;
}
.icon-up-right::before { content:""; position:absolute; top:1px; right:1px; width:7px; height:7px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; }
.icon-up-right::after { content:""; position:absolute; left:1px; bottom:2px; width:10px; height:1.5px; background:currentColor; transform:rotate(-45deg); transform-origin:center; }
.icon-right::before,.icon-down::before,.icon-up::before { content:""; position:absolute; width:7px; height:7px; border-style:solid; border-color:currentColor; }
.icon-right::before { left:1px; top:2px; border-width:1.5px 1.5px 0 0; transform:rotate(45deg); }
.icon-down::before { left:2px; top:0; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
.icon-up::before { left:2px; top:4px; border-width:1.5px 0 0 1.5px; transform:rotate(45deg); }
.video-play,.video-card > i {
  font-size: 0 !important;
}
.video-play::before,.video-card > i::before {
  content:"";
  display:block;
  width:0;
  height:0;
  margin-left:3px;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:11px solid currentColor;
}
.carousel-prev,.carousel-next,.music-prev,.music-next {
  position: relative;
  overflow: hidden;
  color: transparent !important;
  text-shadow: none !important;
}
.carousel-prev::before,.carousel-next::before,.music-prev::before,.music-next::before {
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:9px; height:9px;
  border-color: var(--theme-videos-text, #070907);
  border-style:solid;
  transform-origin:center;
}
.carousel-prev::before,.music-prev::before { border-width:0 0 2px 2px; transform:translate(-35%,-50%) rotate(45deg); }
.carousel-next::before,.music-next::before { border-width:2px 2px 0 0; transform:translate(-65%,-50%) rotate(45deg); }
.music-prev::before,.music-next::before { border-color:#070907; }
.show-row .arrow { position:relative; width:18px; height:18px; font-size:0 !important; }
.show-row .arrow::before { content:""; position:absolute; right:2px; top:2px; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; }
.show-row .arrow::after { content:""; position:absolute; width:12px; height:2px; top:9px; left:2px; background:currentColor; transform:rotate(-45deg); transform-origin:center; }

@media (max-width: 760px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
    overscroll-behavior-x: none;
  }
  @supports (overflow: clip) { html, body { overflow-x: clip !important; } }
  body, main, body > header, body > footer, main > section, main > div,
  .section, .hero-stage, .hero, .marquee, .music, .shows, .gallery,
  .videos, .about, .social-wall, .contact {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  main, section, .hero-stage, .hero { min-width: 0 !important; }
  img, video, iframe, svg, canvas { max-width: 100% !important; }
  img, video { height: auto; }
  iframe { width: 100% !important; }
  .nav {
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .nav nav {
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:calc(100% - 24px) !important;
    overflow-x:hidden !important;
  }
  .brand, .brand img { max-width:118px !important; }
  .nav-cta { max-width:112px; white-space:nowrap; }
  .hero-stage,.hero,.hero-art,.hero-depth-scene,.hero-scroll-video {
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
  .hero-float { max-width:48vw !important; }
  .hero-subject { max-width:100% !important; }
  .hero-copy--schedule {
    left: 12px !important;
    right: 12px !important;
    bottom: 18px !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    transform:none !important;
  }
  .next-event--group { max-height:42svh; overflow-y:auto; overflow-x:hidden; padding:14px; }
  .next-event-list > a { grid-template-columns:1fr; gap:3px; }
  .music-carousel,.music-carousel__viewport,.music-slide,.music-slide__content,.music-slide__visual,
  .music-embed,.shows,.show-list,.show-row,.timeline-gallery,.gallery-sticky,
  .timeline-viewport,.videos,.video-main,.video-carousel-wrap,.about,
  .social-fan,.contact,.booking-form,footer { min-width:0 !important; max-width:100% !important; }
  .music-slide { grid-template-columns:minmax(0,1fr) !important; }
  .music-embed iframe { display:block; }
  .show-row { width:100%; }
  .show-row > * { min-width:0; }
  .show-row p,.show-row h3,.media-heading h2,.section-heading h2,.manifesto,.contact h2 { overflow-wrap:anywhere; }
  .timeline-viewport,.video-carousel { width:100%; overscroll-behavior-x:contain; }
  .timeline-track { max-width:none !important; }
  .video-main,.video-feature { width:100% !important; }
  .video-carousel-wrap { overflow:hidden; }
  .video-carousel { box-sizing:border-box; }
  .social-fan { width:100% !important; overflow:hidden !important; }
  .social-card { max-width:calc(100% - 28px) !important; }
  .contact { padding-left:18px !important; padding-right:18px !important; }
  .booking-form,.booking-form > div { width:100%; }
  .booking-form input,.booking-form textarea,.booking-form button { width:100%; max-width:100%; box-sizing:border-box; }
  .email { max-width:100%; overflow-wrap:anywhere; }
  footer {
    width:100% !important;
    height:auto !important;
    padding:22px 16px !important;
    display:grid !important;
    gap:12px;
    justify-items:center;
    text-align:center;
  }
  footer span:nth-child(2), footer .footer-credit { display:inline-block !important; }
  footer a { white-space:nowrap; }
  .cursor-glow,.cursor-ring,.cursor-dot { display:none !important; }
}
