.victory-bonus-posters {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.65rem, 1.4vw, 1rem);
  width: 100%;
  margin-top: 1rem;
  min-width: 0;
}

.victory-bonus-poster {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  border: 1px solid rgba(216,196,154,.72);
  background: rgba(12,12,12,.92);
  box-shadow: 0 .75rem 1.75rem rgba(0,0,0,.28);
  cursor: pointer;
}

.victory-bonus-poster:hover { border-color: var(--gold-light); }
.victory-bonus-poster:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
.victory-bonus-poster img { display: block; width: 100%; height: 100%; object-fit: cover; }

.victory-bonus-credit {
  grid-column: 1 / -1;
  margin: .2rem 0 0;
  color: rgba(255,255,255,.92);
  font-family: var(--serif);
  font-size: clamp(.86rem, 1.35vw, 1.08rem);
  font-style: italic;
  line-height: 1.45;
}

.victory-bonus-dialog {
  width: min(90vw, 31rem);
  margin: auto;
  padding: 0;
  border: 1px solid rgba(216,196,154,.85);
  color: var(--white);
  background: transparent;
  box-shadow: 0 1.5rem 5rem rgba(0,0,0,.65);
}

.victory-bonus-dialog::backdrop { background: rgba(0,0,0,.74); backdrop-filter: blur(4px); }
.victory-bonus-dialog-card { position: relative; padding: clamp(1.6rem, 4vw, 2.5rem); background: linear-gradient(145deg, #302718, #0c0c0c 72%); }
.victory-bonus-dialog h3 { margin: 0 2.2rem 1rem 0; color: var(--gold-light); font-family: var(--serif); font-size: clamp(1.65rem, 4vw, 2.4rem); font-weight: 400; line-height: 1.08; }
.victory-bonus-dialog p { min-height: 7rem; margin: 0; padding: .85rem; border: 1px dashed rgba(216,196,154,.5); color: rgba(255,255,255,.9); font-size: 1rem; line-height: 1.55; }
.victory-bonus-dialog p:focus { border-color: var(--gold-light); outline: none; }
.victory-bonus-dialog-close { position: absolute; top: .65rem; right: .75rem; display: grid; width: 2.15rem; height: 2.15rem; padding: 0; place-items: center; border: 1px solid rgba(216,196,154,.7); border-radius: 50%; color: var(--white); background: rgba(0,0,0,.45); font-size: 1.4rem; line-height: 1; cursor: pointer; }

@media (min-width: 44rem) {
  .victory { min-height: calc(100svh + 22rem); }
  .victory-original { top: 12svh; bottom: auto; height: 76svh; }
}

@media (max-width: 43.99rem) {
  .victory-bonus-posters { gap: .5rem; margin-top: .5rem; }
}
