/* ════════════════════════════════════════════════════════════════════════
   SHOW PAGE · v26 alignment — logo hero, breath fx, header polish, buttons
   Loaded AFTER ipn.min.css + show-page.css to override
   ════════════════════════════════════════════════════════════════════════ */

/* ── Hero: logo lockup replaces text H1 ── */
.ipn-hero .show-hero-logo {
  display: block;
  width: 100%;
  max-width: 480px;
  margin: 16px auto 22px;
  line-height: 0;
}
.ipn-hero .show-hero-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 480px;
  filter: drop-shadow(0 8px 32px rgba(200,245,66,.22)) drop-shadow(0 0 60px rgba(200,245,66,.1));
  animation: showLogoBreath 4.5s ease-in-out infinite;
}
@keyframes showLogoBreath {
  0%, 100% {
    filter: drop-shadow(0 8px 32px rgba(200,245,66,.22)) drop-shadow(0 0 60px rgba(200,245,66,.1));
    transform: scale(1);
  }
  50% {
    filter: drop-shadow(0 10px 40px rgba(200,245,66,.35)) drop-shadow(0 0 80px rgba(200,245,66,.18));
    transform: scale(1.015);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ipn-hero .show-hero-logo img { animation: none; transform: none; }
}

/* Hide the old text H1 if any partial still has it */
.ipn-hero .ipn-hero__h1 { display: none; }

/* ── Show identity strip (CITY · STATE / DATE · VENUE / DOORS · SHOW) ── */
.ipn-hero .show-identity {
  display: flex; flex-direction: column;
  align-items: center; gap: 6px;
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .22em;
  color: rgba(212,207,198,.7);
  text-transform: uppercase;
  margin: 0 auto 22px;
  line-height: 1.5;
}
.ipn-hero .show-identity .city {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: .04em;
  color: #fff;
  margin-bottom: 4px;
}

/* ── Tickets CTA cluster — match v26 button proportions ── */
.ipn-hero .show-hero-cta .ipn-btn--primary {
  background: #c8f542 !important;
  color: #06060a !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  padding: 18px 32px !important;
  border: 1px solid #c8f542 !important;
  text-transform: uppercase !important;
  transition: background .2s ease, transform .2s ease !important;
}
.ipn-hero .show-hero-cta .ipn-btn--primary:hover {
  background: #d6ff5a !important;
  transform: translateY(-1px);
}

/* ── Section header center variant (matches v26 home pattern) ── */
.ipn-sec-head--center {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 14px !important;
  margin: 0 auto 56px !important;
  max-width: 760px !important;
  padding: 0 24px !important;
}
.ipn-sec-head--center .ipn-tag {
  display: inline-block !important;
  align-self: center !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  color: rgba(200,245,66,.7) !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(200,245,66,.3) !important;
  padding: 5px 14px !important;
  margin: 0 !important;
  background: none !important;
}
.ipn-sec-head--center h2.gt {
  text-align: center !important;
  margin: 4px 0 8px !important;
}
.ipn-sec-head--center .ipn-hero__deck {
  text-align: center !important;
  max-width: 580px;
  margin: 0 auto;
}

/* Meta line beneath centered headings (same as v26's seats line) */
.show-meta-line {
  font-family: "IBM Plex Mono", monospace;
  font-size: 10.5px;
  letter-spacing: .18em;
  color: rgba(200,245,66,.75);
  text-transform: uppercase;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(200,245,66,.18);
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.show-meta-line .dim { color: rgba(212,207,198,.45); }

/* ── Buttons: force same proportions across show page ── */
.ipn-btn--primary,
.ipn-btn--ghost {
  font-family: "IBM Plex Mono", monospace !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}
.ipn-btn--primary {
  background: #c8f542 !important;
  color: #06060a !important;
  border: 1px solid #c8f542 !important;
}
.ipn-btn--primary:hover {
  background: #d6ff5a !important;
  transform: translateY(-1px);
}
.ipn-btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.3) !important;
}
.ipn-btn--ghost:hover {
  border-color: #c8f542 !important;
  color: #c8f542 !important;
  background: rgba(200,245,66,.08) !important;
}

/* All .gt headings on show page use Bebas Neue + lime gradient (match v26) */
h2.gt, .gt {
  font-family: "Bebas Neue", Impact, sans-serif !important;
  letter-spacing: .02em !important;
  font-weight: 400 !important;
}

/* ── Footer with logo (match v26) ── */
.ipn-footer__brand {
  margin-bottom: 16px;
  text-align: center;
}
.ipn-footer__logo {
  display: inline-block;
  line-height: 0;
}

/* Mobile */
@media (max-width: 880px) {
  .ipn-hero .show-hero-logo,
  .ipn-hero .show-hero-logo img { max-width: 320px; }
  .ipn-hero .show-identity .city { font-size: clamp(24px, 6vw, 32px); }
  .ipn-sec-head--center { margin-bottom: 36px !important; }
}
@media (max-width: 480px) {
  .ipn-hero .show-hero-logo,
  .ipn-hero .show-hero-logo img { max-width: 260px; }
}
