/* The complete poster has its own space; captions never cover the artwork. */
.film-card {
  aspect-ratio: auto;
  border: 2px solid var(--rarity);
  padding: 3px;
  background: color-mix(in srgb, var(--rarity) 60%, #171820);
  box-shadow: 0 5px 15px #0004;
}
.film-card .card-open { display: flex; flex-direction: column; height: auto; }
.film-card .poster-wrap {
  position: relative;
  inset: auto;
  flex: none;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  background: #0d0e12;
}
.film-card .poster-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.film-card .card-caption {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 0;
  padding: 7px 8px;
  background: #111217;
  border-top: 2px solid var(--rarity);
  color: var(--text);
}
.film-card .card-caption h3 {
  order: 0;
  margin: 0;
  min-height: 0;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'DM Sans', sans-serif;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text);
}
.film-card .card-rarity-name {
  order: 1;
  display: block;
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .055em;
  text-transform: uppercase;
  color: var(--rarity);
}
.film-card .card-kicker,
.film-card .card-caption p,
.film-card .full-art-signature { display: none; }
.card-badge { top: 10px; left: 10px; }
.card-badge .rarity-badge {
  background: var(--rarity);
  color: #111923;
  border: 1px solid #ffffff80;
  font-size: 13px;
  font-weight: 800;
  padding: 6px 8px;
  box-shadow: 0 2px 7px #0006;
}
.film-card .favorite { background: #101115dc; }
.film-card .copy-count,
.film-card .reserved { top: 48px; bottom: auto; }
.film-card.full-art {
  background: linear-gradient(140deg, #8e7b55, #131417 28%, #39342c 68%, #101114);
  border-color: #b3a078;
}
.film-card.full-art .poster-wrap img { filter: brightness(.94) saturate(.88); }
.film-card.full-art .poster-wrap:after { display: none; }
.film-card.full-art .card-caption { background: #08090c; border-top-color: #b3a078; }
.film-card.full-art .card-caption h3 { color: #f4e6ca; }
.film-card.full-art .card-rarity-name { color: #ead6a5; }
.full-art .card-badge .rarity-badge {
  background: #101115f0;
  border-color: #dfc58b;
  color: #f4dfb4;
}
.large-card:not(.full-art) .card-caption { padding: 9px 10px; }
.large-card:not(.full-art) .card-caption h3 { font-size: 1rem; }
.featured-film .full-art h3 { font-size: .9375rem; }
.reveal-card .film-card,
.recent-grid .film-card,
.auction-tile > .film-card,
.detail-art > .film-card { aspect-ratio: auto; }
.recent-grid .film-card .card-caption { padding: 7px 6px; }
.recent-grid .film-card .card-caption h3 { font-size: .75rem; }
.recent-grid .film-card .card-rarity-name { letter-spacing: .01em; }
.auction-tile .full-art h3 { font-size: .875rem; }

/* Fifty collection entries per page; keep the compact responsive grid. */
.card-grid.collection-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px 14px;
}
.collection-grid .card-item { min-width: 0; }
.collection-grid .collection-card-tags { margin-top: 5px; gap: 4px; }
.collection-grid .collection-card-tags .text-button { font-size: .75rem; padding: 5px 0; }
.feature-note { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.feature-note .text-button { position: static; margin-left: auto; }
@media(min-width:1550px) {
  .card-grid.collection-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media(min-width:1900px) {
  .card-grid.collection-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
@media(max-width:1100px) {
  .card-grid.collection-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media(max-width:850px) {
  .card-grid.collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media(max-width:600px) {
  .card-grid.collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .collection-grid .favorite { width: 30px; height: 30px; }
  .film-card .card-rarity-name { letter-spacing: .025em; }
}
