/* The supplied artwork retains its description, date circle and ticket edges.
   Metadata and titles remain live text above the corresponding artwork areas. */
.ticket.card,.ticket.detail-ticket{
  display:block;
  position:relative;
  container-type:inline-size;
  width:100%;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  aspect-ratio:var(--ticket-ratio,1000/1773);
  background:transparent;
  color:var(--accent);
  overflow:hidden;
  isolation:isolate;
}
/* Suppress Android tap overlays on the card and its artwork descendants.
   Keyboard focus remains visible through the focus-visible rules below. */
.ticket,.ticket *{-webkit-tap-highlight-color:transparent}
.ticket.card:hover{transform:translateY(-3px);filter:brightness(1.06)}
.ticket.card:focus-visible{outline:3px solid #232321;outline-offset:3px}
.ticket-open{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;color:inherit;text-align:left;border-radius:0}
.ticket-open:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.ticket-favorite{position:absolute;z-index:2;top:5.8cqw;right:5.8%;width:10.5%;height:10.5cqw;display:grid;place-items:center;border:0;border-radius:0;padding:0;background:#232321;color:var(--accent);font-family:Arial,Helvetica,sans-serif;font-size:8cqw;font-weight:400;line-height:1;pointer-events:auto;cursor:pointer;touch-action:manipulation}
.ticket-favorite::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.ticket-favorite span{pointer-events:none}
.ticket-favorite[aria-pressed=true]{font-size:6.5cqw}
.ticket-favorite:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ticket.card .ticket-art,.ticket.detail-ticket .ticket-art{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-height:none;
  margin:0;
  aspect-ratio:auto;
  object-fit:fill;
}
.ticket-meta{
  position:absolute;
  left:10%;
  right:10%;
  top:62.9%;
  height:3%;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-content:center;
  justify-content:center;
  align-items:center;
  column-gap:.35em;
  /* Reuse an unlettered part of the supplied texture behind the live text. */
  background-image:var(--ticket-image);
  background-size:125% 4347.83%;
  background-position:50% 60.9%;
  color:#f3f3f3;
  font-size:2.55cqw;
  line-height:1.1;
  letter-spacing:0;
  font-weight:400;
  text-align:center;
}
.ticket-meta>span{white-space:nowrap}
.ticket-meta>span+span::before{content:'•';display:inline-block;margin-right:.35em}
.ticket-title{
  position:absolute;
  left:11%;
  top:84%;
  width:55%;
  height:11%;
  padding-left:1%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  background-image:var(--ticket-image);
  background-size:181.818% 3666.667%;
  background-position:24.444% 97.423%;
  color:var(--accent);
  font-size:var(--title-size,6.2cqw);
  line-height:1.06;
  letter-spacing:-.04em;
  font-weight:700;
  text-align:left;
  max-width:55%;
}
.ticket-title>span{display:block;white-space:nowrap;max-width:100%}
.year-grid{align-items:start}
.track-group{align-items:start}
.detail-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
@media(max-width:760px){
  .detail-layout{grid-template-columns:1fr}
  .detail-ticket{max-width:440px;margin:10px auto}
  .ticket-meta{font-size:2.55cqw}
}
@media(min-width:761px) and (max-width:1250px){.track-group{grid-template-columns:repeat(5,calc((100vw - 64px - 24px)/3))}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
