/* Image fit correction: preserve the original frames and visual theme. */
.autobuild-timeline-media img,
.game-card-img,
.news-featured > img,
.news-list-item > img,
.news-glow-img > img,
.article-main-visual > img {
    object-fit: contain;
    object-position: center;
    background: var(--bg-card, #100b16);
}
/* Reserve a separate footer inside each existing game card. */
.game-card-angular { display: flex; flex-direction: column; min-width: 0; }
.game-card-angular > .game-card-img {
    flex: 1 1 0;
    min-height: 0;
    height: 0;
    width: 100%;
    opacity: 1;
}
.game-card-angular:hover > .game-card-img { transform: none; }
.game-card-angular > .game-card-content {
    position: relative;
    bottom: auto; left: auto;
    flex: 0 0 auto;
    padding: 1rem 1.25rem;
    transform: none;
    background: linear-gradient(180deg, rgba(16,11,22,.88), rgba(0,0,0,.96));
}
.game-card-angular .game-card-title { font-size: 1.2rem; }
.game-card-angular .game-card-desc { margin-top: 4px; }
.game-card-angular .game-card-play { margin-top: 10px; }
.news-glow-img > img { transform: none; }
.article-main-visual > img { height: auto; max-height: none; transform: none; }
.ad-container > a { display: block; }
.ad-container img { height: auto; min-height: 0 !important; object-fit: contain; }
.logo img, .footer-brand > img { object-fit: contain; width: auto; max-width: 100%; }
@media (max-width: 576px) {
 .game-card-angular > .game-card-content { padding: .75rem; }
 .game-card-angular .game-card-title { font-size: 1rem; }
 .game-card-angular .game-card-play { margin-top: 6px; }
}

/* V2: full-width images need content-sized cards, not fixed-height flex slots. */
.masonry-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: auto;
    align-items: start;
}
.masonry-grid > .game-card-angular,
.masonry-grid > .game-card-angular:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    height: auto;
    min-height: 0;
}
.masonry-grid .game-card-angular > .game-card-img {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    opacity: 1;
    object-fit: contain;
}
.masonry-grid .game-card-content { min-width: 0; }
.masonry-grid .game-card-desc { opacity: 1; }
@media (max-width: 992px) {
 .masonry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 576px) {
 .masonry-grid { grid-template-columns: minmax(0, 1fr); }
}
