/* Lineup detail: Day 1–3 follow the supplied daily mockups. */
body.v3-lineup-page {
  background: #171717 url('./v3Assets/hero/background Black Gsrek@2x 1.png') center top / 100% auto repeat-y;
  font-family: Arial, sans-serif;
}

.lineup-header-frame {
  width: min(90%, 1440px);
  margin-inline: auto;
  container-type: inline-size;
}

body.v3-lineup-page .v3-header {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  max-width: none;
  padding-block: clamp(22px, 3.5vw, 48px);
  align-items: center;
  transform: none;
}

.lineup-detail {
  position: relative;
  width: min(84%, 1080px);
  margin-inline: auto;
  padding-bottom: clamp(30px, 6vw, 72px);
  container-type: inline-size;
}

.lineup-intro { text-align: center; padding-top: 8px; }
.lineup-brand { display: block; width: clamp(150px, 27%, 280px); height: auto; margin: 0 auto 20px; }

.lineup-day-nav {
  position: sticky;
  top: 8px;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 2cqw, 20px);
  padding: 8px 0;
  margin-bottom: clamp(28px, 5cqw, 56px);
  background: #171717;
  border-radius: 8px;
}

.lineup-day-link {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 10px;
  border: 1px solid #fff;
  border-radius: 7px;
  background: #fff;
  color: #423bad;
  font: 700 clamp(16px, 2.8cqw, 24px)/1.2 Arial, sans-serif;
  transition: background-color .18s ease, color .18s ease;
}

.lineup-day-link[aria-current="location"] { border-color: #423bad; background: #423bad; color: #fff; }
.lineup-day-link:hover:not([aria-current]) { background: #e8e5ff; color: #352e91; }
.lineup-day-link:focus-visible { outline: 3px solid #ff963e; outline-offset: 3px; }

.lineup-day {
  position: relative;
  padding-block: 0 clamp(28px, 6cqw, 64px);
  scroll-margin-top: 84px;
}

.lineup-day + .lineup-day { padding-top: clamp(16px, 3cqw, 36px); }
.lineup-day-heading {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 clamp(20px, 4cqw, 40px);
  text-align: center;
  font: 600 clamp(38px, 8cqw, 84px)/.98 'Happy Season Display', Impact, sans-serif;
  text-transform: uppercase;
}

.lineup-headliner { position: relative; z-index: 2; margin: 0 0 clamp(10px, 2cqw, 20px); }
.lineup-headliner[hidden] { display: none; }
.lineup-headliner img { display: block; width: 100%; height: auto; object-fit: contain; }
.lineup-artists {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1.8cqw, 20px);
  padding: 0;
  margin: 0;
  list-style: none;
}
.lineup-artists li { min-width: 0; }
.lineup-artists img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }

/* Center the last pair on Day 2 without leaving blank grid cells on phones. */
@media (min-width: 601px) {
  .lineup-artists--six li:nth-last-child(2) { grid-column: 2; }
}

.lineup-art {
  position: absolute;
  z-index: 0;
  display: block;
  height: auto;
  pointer-events: none;
}
.lineup-art--face { width: 21%; top: 6cqw; right: -14%; }
.lineup-art--star { width: 40%; top: -4cqw; left: -35%; transform: rotate(-12deg); }
.lineup-art--ribbon { width: 35%; bottom: -6cqw; left: -28%; transform: rotate(32deg); }

.lineup-ticket-section { position: relative; background: #fff; color: #171717; }
.lineup-ticket-inner {
  position: relative;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: clamp(20px, 4vw, 56px);
  width: min(84%, 1080px);
  margin-inline: auto;
  padding-block: clamp(36px, 6vw, 80px);
}
.lineup-ticket-inner h2 {
  position: relative;
  z-index: 2;
  margin: 0;
  font: 600 clamp(36px, 4.5vw, 68px)/1 'Happy Season Display', Impact, sans-serif;
  text-transform: uppercase;
}
.lineup-ticket-box { position: relative; z-index: 2; min-width: 0; }
.lineup-ticket-box > img { display: block; width: 100%; height: auto; }
.lineup-ticket-links { position: absolute; left: 6.5%; right: 4%; bottom: 10%; height: 29%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2%; }
.lineup-ticket-links a { display: block; min-width: 0; }
.lineup-ticket-links img { display: block; width: 100%; height: 100%; object-fit: contain; }
.lineup-ticket-lamp { position: absolute; left: -8%; top: -15px; width: 12%; height: auto; pointer-events: none; }
.lineup-ticket-bird { position: absolute; right: -8%; top: -30px; width: 15%; height: auto; pointer-events: none; }

@media (max-width: 600px) {
  body.v3-lineup-page .v3-header { padding-block: 20px; }
  .lineup-detail { width: calc(100% - 32px); }
  .lineup-brand { width: 180px; margin-bottom: 12px; }
  .lineup-artists { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lineup-day-nav { gap: 8px; margin-bottom: 28px; }
  .lineup-day-heading { font-size: clamp(40px, 9cqw, 54px); }
  .lineup-ticket-inner { grid-template-columns: 1fr; width: calc(100% - 40px); text-align: center; gap: 24px; }
  .lineup-ticket-inner h2 { font-size: clamp(38px, 10vw, 54px); }
  .lineup-ticket-box { width: min(100%, 480px); margin-inline: auto; }
  .lineup-ticket-lamp { width: 15%; left: -5%; }
  .lineup-ticket-bird { width: 21%; right: -5%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lineup-day-link { transition: none; }
}
