/* Game page: trailer + screenshots, tagline / rating, About and Game info.
   views/partials/game-psn-*.ejs */
.gpm { width: 100%; }
.gpm-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 12px; overflow: hidden; }
.gpm-slide { position: absolute; inset: 0; }
.gpm-slide[hidden] { display: none; }
.gpm-slide video, .gpm-slide img { width: 100%; height: 100%; display: block; }
.gpm-slide video { object-fit: contain; background: #000; }
.gpm-slide img { object-fit: cover; }
.gpm-badge { position: absolute; left: 0.6rem; top: 0.6rem; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(0, 0, 0, 0.7); color: #fff; font-size: 0.68rem; font-weight: 800; pointer-events: none; }
.gpm-count { position: absolute; right: 0.6rem; bottom: 0.6rem; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(0, 0, 0, 0.7); color: #fff; font-size: 0.68rem; font-weight: 800; pointer-events: none; }
.gpm-thumbs { display: flex; gap: 0.4rem; margin-top: 0.5rem; overflow-x: auto; scrollbar-width: none; }
.gpm-thumb { position: relative; flex: none; width: 76px; aspect-ratio: 16 / 9; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; background: #1a1a1a; cursor: pointer; }
.gpm-thumb.on { border-color: #3b82f6; }
.gpm-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gpm-thumb-v::after { content: '▶'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; color: #fff; background: rgba(0, 0, 0, 0.35); }

.gpa-headline { margin: 0.35rem 0 0; }
.gpa-tagline { font-size: 0.9rem; font-style: italic; color: #aaa; }
.gpa-rating { margin-top: 0.25rem; font-size: 0.8rem; color: #bbb; }
.gpa-rating b { color: #ffd700; }

.gpa { max-width: 1100px; margin: 1.5rem auto 0; padding: 0 1rem; }
.gd-cover-col .gpa { max-width: none; margin: 1.25rem 0 0; padding: 0; }
.gpa-h { margin: 1.25rem 0 0.5rem; font-size: 0.78rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; color: #888; }
.gpa-h:first-child { margin-top: 0; }
.gpa-text p { margin: 0 0 0.7rem; font-size: 0.92rem; line-height: 1.6; color: #ccc; overflow-wrap: anywhere; }
.gpa-clamp:not(.gpa-open) { max-height: 7.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.gpa-more { margin-top: 0.2rem; padding: 0; border: 0; background: none; color: #3b9be8; font-size: 0.85rem; font-weight: 700; cursor: pointer; }
.gpa-info { width: 100%; max-width: 560px; border-collapse: collapse; font-size: 0.88rem; }
.gpa-info td { padding: 0.45rem 0; border-top: 1px solid #1c1c1c; vertical-align: top; }
.gpa-info td:first-child { width: 38%; color: #777; }
.gpa-info td:last-child { color: #eee; font-weight: 700; }

body.light-mode .gpa-tagline { color: #555; }
body.light-mode .gpa-rating { color: #444; }
body.light-mode .gpa-text p { color: #333; }
body.light-mode .gpa-info td { border-color: #ddd; }
body.light-mode .gpa-info td:first-child { color: #666; }
body.light-mode .gpa-info td:last-child { color: #111; }
