.concert-card{border:2px solid var(--ink);background:var(--paper);grid-template-columns:minmax(280px,430px) minmax(0,1fr);width:min(100%,1180px);margin-inline:auto;display:grid}.concert-card+.concert-card{margin-top:clamp(28px,5vw,64px)}.concert-poster-wrap{border-right:2px solid var(--ink);background:#ece7dd;justify-content:center;align-items:center;min-width:0;padding:clamp(14px,1.8vw,22px);display:flex;position:relative;overflow:hidden}.concert-poster{aspect-ratio:4/5;object-fit:contain;width:100%;height:auto;max-height:620px;display:block}.concert-status{border:2px solid var(--ink);background:var(--signal-lime);color:var(--ink);font-family:var(--font-display);text-transform:uppercase;box-shadow:4px 4px 0 var(--ink);padding:7px 10px;font-size:.72rem;line-height:1;position:absolute;top:16px;left:16px}.status-free{background:var(--signal-pink)}.status-sold-out{background:var(--ink);color:#fff}.status-coming-soon{background:var(--signal-orange)}.concert-details{flex-direction:column;min-width:0;padding:clamp(24px,3.2vw,44px);display:flex}.concert-number{color:var(--signal-blue);font-family:var(--font-display);letter-spacing:-.08em;margin-bottom:clamp(22px,3vw,38px);font-size:clamp(2.6rem,5vw,5.2rem);line-height:.8}.concert-date{letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:800;line-height:1.3}.concert-card h2{max-width:800px;font-family:var(--font-display);font-size:min(clamp(2.1rem, 4.7vw, 5rem),var(--word-size,100rem));letter-spacing:-.075em;overflow-wrap:normal;word-break:normal;hyphens:none;text-transform:uppercase;margin:10px 0 18px;line-height:.84}.concert-venue{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px 18px;padding-bottom:18px;font-size:clamp(.98rem,1.4vw,1.18rem);display:flex}.concert-venue strong{font-family:var(--font-display);text-transform:uppercase}.concert-lineup{border-bottom:1px solid var(--line);grid-template-columns:92px minmax(0,1fr);gap:18px;padding-block:20px;display:grid}.concert-lineup p{letter-spacing:.12em;text-transform:uppercase;margin:3px 0 0;font-size:.7rem;font-weight:800}.concert-lineup ul{grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.concert-lineup li{min-width:0;font-family:var(--font-display);font-size:min(clamp(1.05rem, 1.8vw, 1.6rem),var(--word-size,100rem));overflow-wrap:normal;word-break:normal;hyphens:none;letter-spacing:-.04em;text-transform:uppercase;line-height:1}.concert-meta{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.concert-meta div{min-width:0;padding:13px 14px 13px 0}.concert-meta div:nth-child(2n){border-left:1px solid var(--line);padding-left:14px}.concert-meta dt{letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:800}.concert-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.concert-actions{margin-top:22px}.ticket-button{border:2px solid var(--ink);background:var(--signal-blue);color:#fff;min-height:50px;font-family:var(--font-display);text-transform:uppercase;justify-content:space-between;align-items:center;gap:28px;padding:12px 17px;transition:transform .16s,box-shadow .16s;display:inline-flex}.ticket-button:hover,.ticket-button:focus-visible{box-shadow:6px 6px 0 var(--ink);transform:translate(-3px,-3px)}.ticket-button-disabled{color:var(--ink);cursor:default;background:#d8d4cc}.ticket-button-disabled:hover{box-shadow:none;transform:none}@media (width<=899px){.concert-card{grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr)}.concert-poster{max-height:560px}.concert-details{padding:clamp(22px,3vw,34px)}.concert-number{margin-bottom:24px}}@media (width<=720px){.concert-card{grid-template-columns:1fr;width:100%}.concert-poster-wrap{border-right:0;border-bottom:2px solid var(--ink);padding:18px}.concert-poster{aspect-ratio:4/5;object-fit:contain;width:min(100%,520px);max-height:none}.concert-number{margin-bottom:30px}}@media (width<=480px){.concert-poster-wrap{padding:12px}.concert-status{top:12px;left:12px}.concert-details{padding:24px 20px 28px}.concert-number{margin-bottom:26px}.concert-lineup{grid-template-columns:minmax(0,1fr);gap:10px;padding-block:18px}.concert-meta{grid-template-columns:1fr}.concert-meta div,.concert-meta div:nth-child(2n){border-left:0;border-bottom:1px solid var(--line);padding:12px 0}.concert-meta div:last-child{border-bottom:0}.ticket-button{width:100%}}.concert-meta dd{white-space:pre-line}.ticket-button-at-door{background:var(--signal-lime);color:var(--ink)}
