/* Decoration ends at the games grid. Header, winners, footer, modals,
   affiliate entry and the original background colours remain unchanged. */
.content-stack:not(.content-stack--affiliate-entry) {
    position: relative;
    isolation: isolate;
}

.content-stack:not(.content-stack--affiliate-entry):has(> #games-section)::before {
    content: "";
    position: absolute;
    z-index: -1;
    /* Absolute grid placement follows the real content height, without JS. */
    grid-row: 1 / 2;
    inset-block: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    pointer-events: none;
    background: url("branding/nossa-arena-doodles.svg") center top / 384px 256px repeat;
    opacity: 0.05;
}

.content-stack:not(.content-stack--affiliate-entry):has(> .hero-card):has(> #games-section)::before {
    grid-row: 1 / 3;
}

@media (max-width: 767px) {
    .content-stack:not(.content-stack--affiliate-entry):has(> #games-section)::before {
        background-size: 288px 192px;
    }
}
