.pc-calendar-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(.55rem,1.6vw,1rem);
  margin-block-start: .85rem !important;
  padding: 0;
  list-style: none;
}
.pc-calendar-card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--sc-stroke);
  border-radius: 12px;
  background: var(--sc-inset);
  color: var(--sc-ink) !important;
  text-decoration: none;
}
.pc-calendar-card:hover { border-color: var(--sc-red); }
.pc-calendar-cover { position: relative; overflow: hidden; aspect-ratio: 16/9; background: var(--sc-panel); }
.pc-calendar-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pc-calendar-credit {
  position: absolute;
  inset-inline-start: .4rem;
  inset-block-end: .4rem;
  padding: .1rem .34rem;
  background: #201b23;
  color: #fff7ef;
  border-radius: 4px;
  font-size: .58rem;
  font-weight: 720;
}
.pc-calendar-copy { display: flex; flex-direction: column; gap: .32rem; padding: .65rem .75rem; min-inline-size: 0; }
.pc-calendar-copy h3 { font-size: clamp(.93rem,1.7vw,1.16rem); line-height: 1.2; }
.pc-calendar-card-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .2rem .5rem;
  flex-wrap: wrap;
  margin-block-start: auto;
  color: var(--sc-red);
  font-size: .8rem;
}
.pc-calendar-card-meta > .pc-arrow { margin-inline-start: auto; }
.pc-calendar-card-meta .pc-calendar-gold { gap: .3em; }
@media (max-width: 980px) { .pc-calendar-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) {
  .pc-calendar-cards { grid-template-columns: minmax(0,1fr); }
  .pc-calendar-card { grid-template-columns: minmax(0,.55fr) minmax(0,1fr); grid-template-rows: 1fr; }
  .pc-calendar-cover { aspect-ratio: auto; min-block-size: 5.5rem; }
  .pc-calendar-cover img { position: absolute; inset: 0; }
  .pc-calendar-copy { padding: .48rem .52rem; }
  .pc-calendar-copy .pc-meta { font-size: .75rem; }
}
