/* ================= AGENDA (story recriado) ================= */

.agenda {
  --pink-h: clamp(220px, 30vw, 440px);
  position: relative;
  background: #3dff38;
  overflow: hidden;
}

/* Textura 5 no verde, como no story. O contraste alto faz o ruído aparecer nesse neon. */
.agenda__green.grain::after {
  background-size: 360px auto;
  opacity: 1;
  filter: contrast(4.3) brightness(1.42);
}

.agenda__pink {
  height: var(--pink-h);
  background: var(--pink);
}

.agenda__scribbles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: rgba(255, 255, 255, 0.45);
  stroke-width: 1.6;
  stroke-dasharray: 3 4;
}

.agenda__note {
  position: absolute;
  left: 3%;
  top: calc(var(--pink-h) * 0.3);
  width: clamp(54px, 8vw, 120px);
  z-index: 3;
  rotate: -8deg;
}

.agenda__djprod {
  position: absolute;
  left: 34%;
  top: 9%;
  width: clamp(130px, 20vw, 300px);
  rotate: -5deg;
}

.agenda__stars {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--pink-h) * 0.4);
  height: calc(var(--pink-h) * 0.42);
  z-index: 2;
  overflow: hidden;
}

.agenda__stars::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 40%;
  height: 16%;
  background: var(--purple);
}

.agenda__stars-track {
  position: relative;
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  animation: stars-run 38s linear infinite;
}

@keyframes stars-run {
  to { transform: translateX(-50%); }
}

.stars__star {
  height: 100%;
  width: auto;
  margin-right: -2%;
}

.stars__star--purple { filter: url(#tint-purple); }
.stars__star--yellow { filter: url(#tint-yellow); }
.stars__star--pink { filter: url(#tint-pink); }

.stars__note {
  height: 62%;
  width: auto;
  margin: 0 2vw;
}

.agenda__photo {
  position: absolute;
  right: 0;
  top: calc(var(--pink-h) * 0.16);
  z-index: 3;
  width: clamp(130px, 24vw, 360px);
  aspect-ratio: 1;
  margin: 0;
  background: var(--white);
}

.agenda__photo > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
}

.agenda__clave {
  position: absolute;
  right: 6%;
  top: 4%;
  height: 96%;
  width: auto;
  animation: twinkle 3.2s ease-in-out infinite;
}

@keyframes twinkle {
  50% { opacity: 0.55; scale: 0.97; }
}

.agenda__green {
  display: flow-root;
  padding: 0 var(--pad) clamp(40px, 6vw, 80px);
  background: #3dff38;
}

.agenda__logo {
  position: relative;
  z-index: 4;
  width: min(92%, 980px);
  margin: calc(clamp(60px, 9vw, 150px) * -0.62) 0 0 -1%;
}

.agenda__logo img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 6px 0 rgba(0, 0, 0, 0.08));
}

.agenda__title,
.agenda__list,
.agenda__contrate {
  position: relative;
  z-index: 5;
}

.agenda__title {
  margin: -0.4em 0 0 clamp(16px, 5vw, 80px);
  font-family: var(--font-script);
  font-weight: 400;
  font-size: clamp(26px, 4vw, 58px);
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--white);
  rotate: -5deg;
  transform-origin: left;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
}

.agenda__title span {
  display: inline-block;
  margin-left: 1.3em;
}

.agenda__list {
  max-width: 920px;
  margin: clamp(28px, 4vw, 56px) auto 0;
}

.agenda__gigs {
  list-style: none;
  padding: 0;
}

.gig__row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px 9px;
  margin: 0 -10px;
  color: var(--navy);
  text-decoration: none;
  isolation: isolate;
}

.gig__row::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--yellow);
  transform: scaleX(0) skewX(-12deg);
  transform-origin: left;
  transition: transform 0.45s var(--ease);
}

.gig__row:hover::before,
.gig__row:focus-visible::before {
  transform: scaleX(1) skewX(-12deg);
}

.gig__name,
.gig__date {
  font-family: Arial, 'Helvetica Neue', sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(21px, 3vw, 38px);
  line-height: 1.05;
}

.gig__lead {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.gig__name {
  min-width: 0;
}

.gig__ticket {
  display: flex;
  align-items: center;
  flex: none;
}

.gig__date {
  margin-left: auto;
  flex: none;
  white-space: nowrap;
}

.gig.is-past .gig__name,
.gig.is-past .gig__date {
  text-decoration: line-through;
  text-decoration-thickness: 3px;
  opacity: 0.4;
}

.gig.is-today .gig__name::before {
  content: '★ ';
  color: var(--pink);
}

.gig.is-tba .gig__name {
  letter-spacing: 0.08em;
}

.agenda__empty {
  font-family: var(--font-script);
  font-size: clamp(24px, 3vw, 40px);
  color: var(--navy);
  text-align: center;
}

.agenda__contrate {
  display: table;
  margin: clamp(36px, 5vw, 64px) auto 0;
  padding: 0.25em 0.6em 0.2em;
  border-radius: 0.4em;
  background: var(--white);
  color: var(--pink);
  text-decoration: none;
  font-size: clamp(15px, 2.2vw, 28px);
  rotate: -1.5deg;
  transition: rotate 0.25s, scale 0.25s;
}

.agenda__contrate span {
  font-family: var(--font-narrow);
  text-transform: uppercase;
}

.agenda__contrate b {
  font-family: Arial, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
}

.agenda__contrate:hover {
  rotate: 1deg;
  scale: 1.04;
}

.agenda__bunda {
  position: relative;
  z-index: 1;
  margin-top: -2vw;
}

.agenda__bunda img {
  width: 100%;
  height: clamp(200px, 30vw, 520px);
  object-fit: cover;
  object-position: 50% 0;
}

/* entrada da agenda */
.agenda__group.reveal .gig {
  opacity: 0;
  translate: -24px 0;
  transition: opacity 0.5s ease, translate 0.6s var(--ease-out);
  transition-delay: calc(var(--i, 0) * 70ms);
}

.agenda__group.is-in .gig {
  opacity: 1;
  translate: 0 0;
}

@media (max-width: 700px) {
  .agenda {
    --pink-h: 58vw;
  }

  .agenda__djprod {
    left: 22%;
    top: 6%;
    width: 34vw;
  }

  .agenda__photo {
    width: 36vw;
  }

  .agenda__logo {
    width: 100%;
    margin-top: -9vw;
  }

  .gig__row,
  .gig__lead {
    gap: 8px;
  }

  /* "contrate" em cima do e-mail: na mesma linha não cabe abaixo de ~380px */
  .agenda__contrate {
    max-width: 100%;
    text-align: center;
  }

  .agenda__contrate span {
    display: block;
    font-size: 0.8em;
  }

  .agenda__contrate b {
    overflow-wrap: anywhere;
  }
}
