/* The lineup uses the supplied palm background; each concert keeps its live photo. */
body { background: #000; }
.arena { display: block; background-image: url('assets/palms-monochrome-v9.webp'); background-position: center; filter: none; transform: none; }
.arena-shade { display: none; }
.detail-background {
  background-image: linear-gradient(90deg, #000e 0%, #000b 45%, #0007 100%), var(--concert-background, url('assets/arena.webp'));
  background-position: center, var(--concert-position, center);
  filter: grayscale(1);
}
.detail-portrait { opacity: 1; }
.detail-portrait > img { filter: drop-shadow(-24px 12px 26px #0009); }
.artist-portrait[data-position='icegergert'] { width: 100%; right: 0; }

.detail-actions { flex-direction: column; align-items: flex-start; }
.ticket-options { width: 100%; max-width: 580px; }
.ticket-options-label { margin: 0 0 10px; text-align: right; font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: #bdbdc2; }
.ticket-choices { display: flex; gap: 10px; }
.ticket-choices .ticket-button {
  flex: 1 1 0;
  min-width: 0;
  min-height: 66px;
  padding: 12px 18px;
  border: 1px solid #ffffff70;
  border-radius: 12px;
  color: #fff;
  background: #ffffff07;
  backdrop-filter: blur(8px);
}
.ticket-choices .ticket-button:hover { background: #ffffff18; transform: translateY(-1px); }
.ticket-copy { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.ticket-payment { font-size: 17px; font-weight: 700; text-transform: none; letter-spacing: -.015em; line-height: 1.3; text-align: center; }
.ticket-hint { font-size: 11px; font-weight: 450; text-transform: none; letter-spacing: 0; color: #b7b7bd; }
.contacts-dialog .contact-link { margin-bottom: 16px; }
.contacts-dialog .contact-link + .back-button { margin-top: 22px; }

@media (max-width: 700px) {
  .detail-background {
    background-image: linear-gradient(180deg, #0009 0%, #000b 30%, #000d 64%, #000e 100%), var(--concert-background, url('assets/arena.webp'));
    background-position: center, var(--concert-mobile-position, center);
  }
  /* Keep the actual concert photograph; omit the floating translucent cutout. */
  .concert-dialog .detail-portrait, .concert-dialog .detail-portrait.is-secret { display: none; }
  .ticket-options { max-width: 100%; }
  .detail-layout { padding: calc(24px + env(safe-area-inset-top, 0px)) 24px calc(40px + env(safe-area-inset-bottom, 0px)); }
  .detail-content > .back-button { min-height: 44px; margin-bottom: 58px; font-size: 10px; }
  .detail-content h2 { font-size: clamp(35px, 10vw, 48px); }
  .detail-kicker { font-size: 10px; }
  .detail-city { line-height: 1.2; margin-bottom: 28px; }
  .detail-facts > div { grid-template-columns: 72px minmax(0, 1fr); gap: 16px; padding-block: 15px; font-size: 14px; }
  .detail-facts dd { overflow-wrap: anywhere; }
  .ticket-choices { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .ticket-choices .ticket-button { min-height: 68px; padding: 12px 16px; }
  .ticket-payment { font-size: 17px; }
  .ticket-hint { font-size: 12px; }
  .calendar-button { min-height: 48px; font-size: 13px; }
  .ticket-note { font-size: 12px; line-height: 1.65; }
  .event-card, .event-card:hover { opacity: .36; }
  .event-card.is-active, .event-card.is-active:hover, .event-card:focus-visible { opacity: 1; }
}
