/* ─────────────────────────────────────────────────
   SHOW PAGE · v1 layout overrides
   Loaded AFTER /dist/ipn/v1/ipn.min.css
   Same visual DNA as home — city-specific section layouts.
   ───────────────────────────────────────────────── */

/* Hero · venue plate backdrop with wordmark stack */
.ipn-hero[data-variant="venue-cinematic"]{ min-height:100svh }
.ipn-hero[data-variant="venue-cinematic"] .show-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.ipn-hero[data-variant="venue-cinematic"] .show-bg img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:contrast(1.08) saturate(.7) brightness(.55);
  mask-image:radial-gradient(ellipse 90% 80% at 50% 50%, black 30%, transparent 95%);
}
.ipn-hero[data-variant="venue-cinematic"] .ipn-hero__copy{
  position:relative;z-index:3;
  align-items:center;text-align:center;
  max-width:1100px;width:100%;margin:0 auto;
  padding-block:var(--sp-8,96px);
}
.show-identity{
  display:flex;flex-direction:column;gap:6px;align-items:center;
  font-family:var(--f-mono);font-size:13px;color:var(--c-ink-2);
  letter-spacing:.08em;text-transform:uppercase;
}
.show-identity .city{font-size:20px;color:var(--c-ink);font-weight:600}
.show-counter{
  position:absolute;bottom:24px;right:var(--sec-px);z-index:3;
  font-family:var(--f-mono);font-size:11px;color:var(--c-ink-3);
  letter-spacing:.12em;text-transform:uppercase;
}

/* Ticket strip · inline 5-cell + CTA panel */
.ticket-strip{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;
  gap:24px;align-items:center;
  padding:32px var(--sec-px);
  border-bottom:1px solid var(--bd-lime);
  background:var(--c-bg-panel);
}
.ticket-strip .ts-cell{display:flex;flex-direction:column;gap:4px}
.ticket-strip .ts-cell .lbl{
  font-family:var(--f-mono);font-size:11px;color:var(--c-ink-3);
  letter-spacing:.12em;text-transform:uppercase;
}
.ticket-strip .ts-cell .val{font-size:18px;font-weight:600;color:var(--c-ink)}
.ticket-strip .ts-cell .val.status-open{color:var(--c-brand)}
.ticket-strip .ts-cell .val.status-filling{color:var(--c-alert)}
.ticket-strip .ts-cell .val.status-critical{color:var(--ipn-orange-2)}
.ticket-strip .ts-cell .val.status-closed{color:var(--c-ink-3)}
.ticket-strip .ts-cta{justify-self:end}
@media (max-width:960px){
  .ticket-strip{grid-template-columns:repeat(2,1fr);gap:18px}
  .ticket-strip .ts-cta{grid-column:1/-1;justify-self:start;width:100%}
  .ticket-strip .ts-cta.ipn-btn{justify-content:center}
}

/* Venue · split layout (photo + fields grid) */
.venue-split{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media (min-width:960px){ .venue-split{grid-template-columns:1.05fr .95fr;gap:48px} }
.venue-photo{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--bd-lime)}
.venue-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85) contrast(1.04)}
.venue-fields{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px;
  padding:24px 0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);
}
.venue-fields > div{display:flex;flex-direction:column;gap:4px}
.venue-fields .lbl{font-family:var(--f-mono);font-size:11px;color:var(--c-ink-3);letter-spacing:.12em;text-transform:uppercase}
.venue-fields .val{font-size:14px;color:var(--c-ink)}
.venue-fields .redacted{
  display:inline-block;color:var(--c-ink-3);
  background:var(--c-bg-raised);padding:2px 8px;
  font-family:var(--f-mono);letter-spacing:-.02em;user-select:none;
}
@media (max-width:560px){ .venue-fields{grid-template-columns:1fr} }

/* Other dates · cross-sell mini-cards (smaller than home cards) */
.other-dates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (min-width:760px){ .other-dates-grid{grid-template-columns:repeat(4,1fr)} }

/* Empty guests state */
.guests-empty{
  padding:24px;border:1px dashed var(--bd-lime);background:var(--c-bg-panel);
  font-family:var(--f-mono);font-size:12px;color:var(--c-ink-2);
  letter-spacing:.06em;text-transform:uppercase;text-align:center;
}
