/**
 * Project-only overrides on top of the frontend style.css.
 * Do not merge these into style.css — that file is replaced from layout as-is.
 */

/* Hide static footer bg on pages that already have their own bottom art.
   Layout hides games/game-detail/privacy; we also need desktop game detail. */
.games-page .footer-bg,
.game-detail-page .footer-bg,
.game-detail-desctop .footer-bg,
.privacy-page .footer-bg {
    display: none;
}

/* CMS can attach video inside topic phone frames / mobile game info */
.game-preview__image video,
.game-info-preview video {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* Steam badge sizing (CMS store links; not in layout demo) */
.game-preview__store-link img.is-steam {
    width: auto;
    height: 40px;
}

.game-card__app-link img.is-steam {
    height: 24px;
    width: auto;
}

/*
 * Game cards: default (no hover) shifts .game-card__content by 77px to hide
 * one row of store buttons. Layout always demos 2 stores; with 3 CMS URLs the
 * 2-col grid wraps and badges peek above the fold. Keep a single row.
 */
.game-card__app-links:has(> :nth-child(3)) {
    grid-template-columns: repeat(3, 1fr);
}

.game-card__app-links:has(> :nth-child(3)) .game-card__app-link img.is-steam {
    height: 20px;
}

/* Client: hide Stars / Installations only on mobile viewport */
@media screen and (max-width: 780px) {
    .game-preview__advantages {
        display: none !important;
    }
}

/* Consent checkbox error state (AJAX forms bypass :user-invalid) */
.checkbox__controller.is-error ~ .checkbox__marker {
    border-color: #ff00b8;
}
