/* Car Show HQ — upcoming shows feed */
body.cshq .cshq-showsfeed__h2 { margin: 0 0 24px; }
body.cshq .cshq-showsfeed__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
body.cshq .cshq-showsfeed__grid > * { min-width: 0; }

body.cshq .cshq-showcard {
  display: block; background: #fff; border: 1px solid var(--cshq-card-border);
  border-radius: 18px; overflow: hidden; box-shadow: var(--cshq-sh-card);
  color: inherit; transition: box-shadow .18s ease, transform .18s ease;
}
body.cshq .cshq-showcard:hover { box-shadow: var(--cshq-sh-screen); transform: translateY(-2px); color: inherit; }
body.cshq .cshq-showcard__media {
  position: relative; aspect-ratio: 16 / 9; background:
    linear-gradient(135deg, var(--cshq-ink-900) 0%, #1d3461 60%, var(--cshq-brand) 130%);
  display: flex; align-items: center; justify-content: center;
}
body.cshq .cshq-showcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Transparent logo banners, not photographs. Cover would crop a wide logo's
   edges off and the navy backing swallows dark artwork, so these sit contained
   on a backing picked to contrast with the artwork (see cshq_hero_frame). */
body.cshq .cshq-showcard__media--logo-light,
body.cshq .cshq-showcard__media--logo-dark,
body.cshq .cshq-showcard__media--banner { padding: 16px 18px; }
body.cshq .cshq-showcard__media--logo-light img,
body.cshq .cshq-showcard__media--logo-dark img,
body.cshq .cshq-showcard__media--banner img { object-fit: contain; }
/* Opaque banner or flyer art: contained on the brand backing, with the corners
   softened so it reads as a framed poster rather than a mis-sized photo. */
body.cshq .cshq-showcard__media--banner img { border-radius: 8px; }
body.cshq .cshq-showcard__media--logo-light {
  background: linear-gradient(180deg, #ffffff 0%, #eef1f6 100%);
}
/* Keep the date chip legible once the backing goes light. */
body.cshq .cshq-showcard__media--logo-light .cshq-showcard__date {
  border: 1px solid var(--cshq-card-border);
}
body.cshq .cshq-showcard__ph {
  font-family: var(--cshq-font-mono); letter-spacing: .3em; font-size: 15px;
  color: rgba(255, 255, 255, .8);
}
body.cshq .cshq-showcard__date {
  position: absolute; left: 14px; bottom: 14px;
  background: #fff; color: var(--cshq-ink-900); font-size: 13px; font-weight: 700;
  padding: 6px 12px; border-radius: 999px; box-shadow: var(--cshq-sh-card);
}
body.cshq .cshq-showcard__body { padding: 18px 20px 20px; }
body.cshq .cshq-showcard__name { margin: 0 0 6px; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--cshq-ink-900); }
body.cshq .cshq-showcard:hover .cshq-showcard__name { color: var(--cshq-brand); }
body.cshq .cshq-showcard__meta { margin: 0 0 12px; font-size: 14.5px; color: var(--cshq-ink-600); }
body.cshq .cshq-showcard__badges { display: flex; gap: 8px; flex-wrap: wrap; }
body.cshq .cshq-showcard__badge {
  display: inline-flex; padding: 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600;
  background: var(--cshq-panel-bg); color: var(--cshq-ink-600);
}
body.cshq .cshq-showcard__badge--open { background: var(--cshq-tile-green); color: var(--cshq-emerald); }

body.cshq .cshq-showsfeed__empty {
  background: #fff; border: 1px solid var(--cshq-card-border); border-radius: 18px;
  padding: 44px 32px; text-align: center;
}
body.cshq .cshq-showsfeed__empty p { margin: 0 auto 20px; max-width: 52ch; font-size: 16px; color: var(--cshq-ink-600); }

@media (max-width: 1020px) { body.cshq .cshq-showsfeed__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { body.cshq .cshq-showsfeed__grid { grid-template-columns: 1fr; } }
