/* ════════════════════════════════════════════════════════════════════════
   SHOW PAGE · WAVE 2 — align section visuals with v26 home patterns
   ════════════════════════════════════════════════════════════════════════ */

/* ── OTHER DATES cards (match home's .city-card) ── */
.other-dates-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  margin-top: 8px;
}
.ipn-card {
  position: relative;
  background: rgba(10,13,20,.6);
  border: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  overflow: hidden;
}
.ipn-card:hover {
  border-color: rgba(200,245,66,.6);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px -12px rgba(200,245,66,.18);
}
.ipn-card__media {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.ipn-card__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  opacity: .9;
  transition: opacity .25s ease, transform .35s ease;
}
.ipn-card:hover .ipn-card__media img { opacity: 1; transform: scale(1.02); }
.ipn-card__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(6,6,10,.65) 100%);
  pointer-events: none;
}
.ipn-card__date {
  position: absolute; top: 14px; left: 14px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: .14em;
  color: #c8f542;
  text-transform: uppercase;
  padding: 6px 10px;
  background: rgba(6,6,10,.78);
  border: 1px solid rgba(200,245,66,.45);
  z-index: 2;
  line-height: 1;
}
.ipn-card__status {
  position: absolute; top: 14px; right: 14px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  letter-spacing: .18em;
  color: #c8f542;
  text-transform: uppercase;
  padding: 5px 9px;
  background: rgba(6,6,10,.7);
  border: 1px solid rgba(200,245,66,.45);
  z-index: 2;
  line-height: 1;
}
.ipn-card__status[data-state="filling"] { color: #e8853a; border-color: rgba(232,133,58,.5); }
.ipn-card__status[data-state="critical"] { color: #ff6b35; border-color: rgba(255,107,53,.5); }
.ipn-card__status[data-state="soldout"] { color: rgba(255,255,255,.5); border-color: rgba(255,255,255,.2); }
.ipn-card__body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ipn-card__name {
  font-family: "Bebas Neue", sans-serif;
  font-size: 28px;
  color: #fff;
  line-height: 1;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.ipn-card__sub {
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  letter-spacing: .2em;
  color: rgba(200,245,66,.55);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.ipn-card__venue {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: .12em;
  color: rgba(212,207,198,.85);
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: 500;
}
/* Mobile: 2 cols, then 1 col */
@media (max-width: 980px) { .other-dates-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .other-dates-grid { grid-template-columns: 1fr !important; } }

/* ── FAQ accordion (match home's .fs-item / details) ── */
.ipn-accordion details,
details.ipn-accordion__item,
details.fs-item {
  border-bottom: 1px solid rgba(200,245,66,.15);
  padding: 18px 0;
  transition: background .2s ease;
}
.ipn-accordion details[open],
details.ipn-accordion__item[open],
details.fs-item[open] {
  background: rgba(200,245,66,.04);
  border-bottom-color: rgba(200,245,66,.35);
}
.ipn-accordion details summary,
details.ipn-accordion__item summary,
details.fs-item summary {
  cursor: pointer;
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: .03em;
  color: #fff;
  text-transform: uppercase;
  list-style: none;
  position: relative;
  padding-right: 36px;
  transition: color .2s ease;
}
.ipn-accordion details summary:hover,
details.fs-item summary:hover { color: #c8f542; }
.ipn-accordion details summary::-webkit-details-marker,
details.fs-item summary::-webkit-details-marker { display: none; }
.ipn-accordion details summary::after,
details.fs-item summary::after {
  content: "+";
  position: absolute;
  right: 6px; top: 50%;
  transform: translateY(-50%);
  font-family: "IBM Plex Mono", monospace;
  font-size: 22px;
  color: #c8f542;
  transition: transform .2s ease;
  line-height: 1;
}
.ipn-accordion details[open] summary::after,
details.fs-item[open] summary::after { content: "−"; }
.ipn-accordion__body,
.fs-item-body {
  padding: 14px 0 0;
  font-family: "IBM Plex Mono", monospace;
  font-size: 13px;
  line-height: 1.7;
  color: rgba(212,207,198,.8);
  padding-right: 36px;
}

/* ── Ticket strip — clean 5-cell panel ── */
.ticket-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border: 1px solid rgba(200,245,66,.25);
  background: rgba(6,6,10,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  margin: 32px auto;
  max-width: 1200px;
  position: relative;
}
.ticket-strip > * {
  padding: 18px 22px;
  border-right: 1px solid rgba(200,245,66,.12);
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
}
.ticket-strip > *:last-child { border-right: none; }
.ticket-strip .ts-label {
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(212,207,198,.5);
  text-transform: uppercase;
}
.ticket-strip .ts-value {
  font-family: "Bebas Neue", sans-serif;
  font-size: 22px;
  color: #fff;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}
.ticket-strip .ts-value.is-lime { color: #c8f542; }
.ticket-strip .ts-cta.ipn-btn { padding: 14px 22px !important; min-height: 0 !important; }
@media (max-width: 880px) {
  .ticket-strip { grid-template-columns: 1fr 1fr; gap: 0; }
  .ticket-strip > * { border-right: none !important; border-bottom: 1px solid rgba(200,245,66,.12); }
  .ticket-strip > *:nth-child(odd) { border-right: 1px solid rgba(200,245,66,.12) !important; }
  .ticket-strip > *:nth-last-child(-n+2) { border-bottom: none; }
}

/* ── Sticky bottom CTA (mobile) — match lime CTA style ── */
.ipn-sticky-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: 1fr auto;
  background: rgba(6,6,10,.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(200,245,66,.35);
  padding: 10px 14px;
  align-items: center;
  gap: 12px;
  transform: translateY(100%);
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.ipn-sticky-cta.is-visible { transform: translateY(0); }
@media (min-width: 760px) {
  .ipn-sticky-cta { grid-template-columns: auto 1fr auto auto; }
}
.ipn-sticky-cta__cell {
  flex: 1;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  letter-spacing: .18em;
  color: rgba(200,245,66,.7);
  text-transform: uppercase;
}
.ipn-sticky-cta__cta {
  background: #c8f542;
  color: #06060a;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 12px 18px;
  border: 1px solid #c8f542;
  text-decoration: none;
}


/* ── Section h2 enforcement — lime gradient on Bebas Neue (matches home .gt) ── */
h2.gt {
  font-family: "Bebas Neue", Impact, sans-serif !important;
  font-size: clamp(48px, 7vw, 92px) !important;
  line-height: .9 !important;
  letter-spacing: .015em !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  background: linear-gradient(180deg, #e0ff70 0%, #b5e030 35%, #7aad20 65%, #4a7010 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
  filter: drop-shadow(0 2px 14px rgba(200,245,66,.22)) !important;
  margin: 0 !important;
}


/* ROUND2: force show-page sticky always visible */
.ipn-sticky-cta--show {
  transform: translateY(0) !important;   /* always docked on show pages */
}
