/* /Components/Admin/AdminMenu.razor.rz.scp.css */
/* CSS for AdminMenu component */
.sidebar[b-uf8zt44ykw] {
    width: 240px;
    min-height: 100vh;
}

.sidebar-toggle-checkbox[b-uf8zt44ykw] {
    display: none;
}

.sidebar-toggle[b-uf8zt44ykw] {
    display: none;
}

.sidebar-toggle-icon--close[b-uf8zt44ykw] {
    display: none;
}

@media (max-width: 991.98px) {
    /* The nav also carries Bootstrap's d-flex utility class, which sets display:flex with
       !important - these overrides need the same specificity to actually collapse it. */
    .sidebar[b-uf8zt44ykw] {
        display: none !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 240px;
        height: 100vh;
        overflow-y: auto;
        z-index: 1040;
    }

    /* No Blazor interactivity is available here (see the comment in AdminMenu.razor), so the
       open/closed state lives entirely in the checkbox - :checked flips the sidebar and swaps
       the icon via sibling selectors, no JS involved. */
    .sidebar-toggle-checkbox:checked ~ .sidebar[b-uf8zt44ykw] {
        display: flex !important;
    }

    .sidebar-toggle[b-uf8zt44ykw] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 0.75rem;
        left: 0.75rem;
        width: 2.5rem;
        height: 2.5rem;
        border: none;
        border-radius: 0.375rem;
        background-color: #212529;
        color: #fff;
        font-size: 1.25rem;
        cursor: pointer;
        z-index: 1050;
    }

        .sidebar-toggle:hover[b-uf8zt44ykw] {
            background-color: #343a40;
        }

    .sidebar-toggle-checkbox:checked ~ .sidebar-toggle .sidebar-toggle-icon--open[b-uf8zt44ykw] {
        display: none;
    }

    .sidebar-toggle-checkbox:checked ~ .sidebar-toggle .sidebar-toggle-icon--close[b-uf8zt44ykw] {
        display: inline;
    }
}

.sidebar-link[b-uf8zt44ykw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-radius: 0.375rem;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    font-size: 0.95rem;
    transition: background-color 0.15s ease, color 0.15s ease;
    background: transparent;
    cursor: pointer;
}

    .sidebar-link i[b-uf8zt44ykw] {
        font-size: 1.1rem;
        width: 1.25rem;
        text-align: center;
    }

    .sidebar-link:hover[b-uf8zt44ykw] {
        background-color: rgba(255, 255, 255, 0.08);
        color: #fff;
    }

    /* Blazor adds this class automatically to the matched NavLink */
    .sidebar-link.active[b-uf8zt44ykw] {
        background-color: #0d6efd;
        color: #fff;
    }

.logout-btn[b-uf8zt44ykw] {
    color: rgba(255, 255, 255, 0.75);
}

    .logout-btn:hover[b-uf8zt44ykw] {
        background-color: rgba(220, 53, 69, 0.25);
        color: #fff;
    }
/* /Components/Admin/Dashboard/ContentStatsRow.razor.rz.scp.css */
/* Deliberately not Bootstrap's .card: site.css (the app.css section) forces `.card {
   background-color: #201e34 !important }`, which no scoped rule or bg-* utility can beat, so a
   per-entity accent would be impossible on one. Built instead on the .media-card pattern from
   Media.razor.css. */
.stat-tile[b-z76sal4d01] {
    --accent: var(--bs-primary, #0d6efd);

    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
    padding: 1rem 1rem 0.875rem;
    border: 1px solid var(--bs-border-color, #495057);
    border-radius: 10px;
    background: linear-gradient(160deg, #26224a 0%, #1b1832 100%);
    color: var(--bs-light, #f8f9fa);
    text-decoration: none;
    overflow: hidden;
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

    /* The accent stripe carries the entity's identity - the tiles are otherwise identical,
       and five identical dark rectangles are hard to scan. */
    .stat-tile[b-z76sal4d01]::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 3px;
        background: var(--accent);
    }

    .stat-tile:hover[b-z76sal4d01],
    .stat-tile:focus-visible[b-z76sal4d01] {
        border-color: var(--accent);
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
        color: var(--bs-light, #f8f9fa);
    }

/* Placeholder shown during the prerender pass, so the SSR render looks intentional rather
   than like a missing row. */
.stat-tile--placeholder[b-z76sal4d01] {
    min-height: 132px;
    background: rgba(255, 255, 255, 0.03);
    border-style: dashed;
}

.stat-tile__icon[b-z76sal4d01] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 8px;
    font-size: 1.35rem;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 18%, transparent);
}

.stat-tile__label[b-z76sal4d01] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bs-secondary-color, #adb5bd);
}

.stat-tile__figures[b-z76sal4d01] {
    display: flex;
    gap: 1.25rem;
    margin-top: auto;
}

.stat-tile__figure[b-z76sal4d01] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.stat-tile__count[b-z76sal4d01] {
    font-size: 1.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.stat-tile__figure--live .stat-tile__count[b-z76sal4d01] {
    color: var(--bs-success, #198754);
}

.stat-tile__figure--draft .stat-tile__count[b-z76sal4d01] {
    color: var(--bs-secondary-color, #adb5bd);
}

.stat-tile__caption[b-z76sal4d01] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--bs-secondary-color, #adb5bd);
}

/* Accents follow the tile order set in DashboardService.GetContentStats:
   Casinos, Offers, Publishers, Games, Guides. */
.col:nth-child(1) .stat-tile[b-z76sal4d01] { --accent: #4dabf7; }
.col:nth-child(2) .stat-tile[b-z76sal4d01] { --accent: #f783ac; }
.col:nth-child(3) .stat-tile[b-z76sal4d01] { --accent: #9775fa; }
.col:nth-child(4) .stat-tile[b-z76sal4d01] { --accent: #38d9a9; }
.col:nth-child(5) .stat-tile[b-z76sal4d01] { --accent: #ffa94d; }
/* /Components/Admin/Dashboard/GameReviewTable.razor.rz.scp.css */
.games-table[b-z495viph9p] {
    margin-bottom: 0;
    white-space: nowrap;
}

.games-table__num[b-z495viph9p] {
    font-variant-numeric: tabular-nums;
}

/* Twelve columns overflow on anything under ~1400px, so the name is pinned to the left edge
   to stay readable while scrolling across. The background has to be opaque or the scrolled
   cells show through it. */
.games-table__name-col[b-z495viph9p] {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 210px;
    background: #212529;
    box-shadow: 1px 0 0 var(--bs-border-color, #495057);
}

thead .games-table__name-col[b-z495viph9p] {
    z-index: 3;
}

.games-table__row:hover .games-table__name-col[b-z495viph9p] {
    background: #2b3035;
}

.games-table__badges[b-z495viph9p] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.2rem;
}

    .games-table__badges .badge[b-z495viph9p] {
        font-size: 0.65rem;
        font-weight: 600;
    }

.games-table__row[b-z495viph9p] {
    cursor: pointer;
}

    .games-table__row:focus-visible[b-z495viph9p] {
        outline: 2px solid var(--bs-primary, #0d6efd);
        outline-offset: -2px;
    }

.games-table__th[b-z495viph9p] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

    .games-table__th:hover[b-z495viph9p] {
        color: var(--bs-primary, #0d6efd);
    }

    .games-table__th:focus-visible[b-z495viph9p] {
        outline: 2px solid var(--bs-primary, #0d6efd);
        outline-offset: -2px;
    }

.games-table__th--active[b-z495viph9p] {
    color: var(--bs-primary, #0d6efd);
}

.games-table__sort[b-z495viph9p] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

/* The idle arrows are a hint that the column is sortable, not a statement about the current
   order - kept faint so the active column's caret is the thing that reads. */
.games-table__sort-icon--idle[b-z495viph9p] {
    opacity: 0.3;
    font-size: 0.75rem;
}

.games-table__score-col[b-z495viph9p] {
    min-width: 84px;
}

.games-table__empty[b-z495viph9p] {
    color: var(--bs-secondary-color, #adb5bd);
}

.score-pill[b-z495viph9p] {
    display: inline-block;
    min-width: 2.6rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: center;
    border: 1px solid transparent;
}

/* The overall score is the headline number, so it outweighs the four criteria that feed it. */
.score-pill--overall[b-z495viph9p] {
    min-width: 3rem;
    padding: 0.25rem 0.6rem;
    font-size: 0.95rem;
    font-weight: 700;
}

.score-pill--excellent[b-z495viph9p] {
    color: #69db7c;
    background: rgba(105, 219, 124, 0.15);
    border-color: rgba(105, 219, 124, 0.4);
}

.score-pill--good[b-z495viph9p] {
    color: #74c0fc;
    background: rgba(116, 192, 252, 0.15);
    border-color: rgba(116, 192, 252, 0.4);
}

.score-pill--fair[b-z495viph9p] {
    color: #ffd43b;
    background: rgba(255, 212, 59, 0.15);
    border-color: rgba(255, 212, 59, 0.4);
}

.score-pill--poor[b-z495viph9p] {
    color: #ff8787;
    background: rgba(255, 135, 135, 0.15);
    border-color: rgba(255, 135, 135, 0.4);
}
/* /Components/Admin/Dashboard/OfferClicksTable.razor.rz.scp.css */
.clicks-table[b-py1q18arbc] {
    margin-bottom: 0;
    white-space: nowrap;
}

.clicks-table__num[b-py1q18arbc] {
    font-variant-numeric: tabular-nums;
}

.clicks-table__row[b-py1q18arbc] {
    cursor: pointer;
}

    .clicks-table__row:focus-visible[b-py1q18arbc] {
        outline: 2px solid var(--bs-primary, #0d6efd);
        outline-offset: -2px;
    }

.clicks-table__th[b-py1q18arbc] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

    .clicks-table__th:hover[b-py1q18arbc] {
        color: var(--bs-primary, #0d6efd);
    }

    .clicks-table__th:focus-visible[b-py1q18arbc] {
        outline: 2px solid var(--bs-primary, #0d6efd);
        outline-offset: -2px;
    }

.clicks-table__th--active[b-py1q18arbc] {
    color: var(--bs-primary, #0d6efd);
}

.clicks-table__sort[b-py1q18arbc] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.clicks-table__sort-icon--idle[b-py1q18arbc] {
    opacity: 0.3;
    font-size: 0.75rem;
}
/* /Components/Admin/General/EditorTabs.razor.rz.scp.css */
.editor-tabs[b-mtskgaumxy]  .nav-link:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
/* /Components/Admin/General/GameScreenshotListEditor.razor.rz.scp.css */
.game-screenshot-editor__tile[b-tkye4a3465] {
    width: 160px;
}

    .game-screenshot-editor__tile img[b-tkye4a3465] {
        width: 160px;
        height: 100px;
        object-fit: cover;
        border-radius: 8px;
        background: #343a40;
    }
/* /Components/Admin/General/IconPickerField.razor.rz.scp.css */
/* Only the icon grid itself - the modal chrome is Bootstrap's, same as the other admin modals. */

.icon-picker__grid[b-mt0x7xmxiy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));
    gap: .4rem;
}

.icon-picker__tile[b-mt0x7xmxiy] {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    font-size: 1.35rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: .5rem;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}

    .icon-picker__tile:hover[b-mt0x7xmxiy],
    .icon-picker__tile:focus-visible[b-mt0x7xmxiy] {
        background: rgba(185, 115, 247, 0.18);
        border-color: #b973f7;
    }

    .icon-picker__tile.is-selected[b-mt0x7xmxiy] {
        background: rgba(185, 115, 247, 0.28);
        border-color: #b973f7;
    }
/* /Components/Admin/General/MediaLibraryModal.razor.rz.scp.css */
.media-picker-grid[b-lmrgne0elc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 0.75rem;
    max-height: 45vh;
    overflow-y: auto;
}

.media-picker-item[b-lmrgne0elc] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
}

    .media-picker-item:hover[b-lmrgne0elc] {
        border-color: var(--bs-secondary, #6c757d);
        background: rgba(255, 255, 255, 0.05);
    }

    .media-picker-item--selected[b-lmrgne0elc] {
        border-color: var(--bs-primary, #0d6efd);
        background: rgba(13, 110, 253, 0.12);
    }

    .media-picker-item__check[b-lmrgne0elc] {
        position: absolute;
        top: 0.25rem;
        right: 0.25rem;
        font-size: 1.1rem;
        color: rgba(255, 255, 255, 0.6);
        line-height: 1;
        background: rgba(0, 0, 0, 0.35);
        border-radius: 50%;
    }

    .media-picker-item--selected .media-picker-item__check[b-lmrgne0elc] {
        color: var(--bs-primary, #0d6efd);
        background: #fff;
    }

    .media-picker-item img[b-lmrgne0elc] {
        width: 80px;
        height: 80px;
        object-fit: contain;
        background: #343a40;
        border-radius: 6px;
        padding: 4px;
    }

    .media-picker-item span[b-lmrgne0elc] {
        font-size: 0.75rem;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100px;
    }
/* /Components/Admin/General/RibbonColourField.razor.rz.scp.css */
.ribbon-swatch[b-96h5b3w6yh] {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
    cursor: pointer;
}

.ribbon-swatch--selected[b-96h5b3w6yh] {
    outline: 3px solid #b973f7;
    outline-offset: 2px;
}
/* /Components/Admin/General/RibbonEditor.razor.rz.scp.css */
/* Same enlarged checkbox GameEditor's "Dual Bet?" uses (that rule is scoped to GameEditor, so it
   doesn't reach in here). */
.ribbon-editor__checkbox[b-vcngvzhh0n] {
    transform: scale(1.5);
    transform-origin: left center;
}

.ribbon-editor__tile[b-vcngvzhh0n] {
    width: 140px;
    height: 140px;
    border-radius: 1rem;
    background: rgba(96, 0, 255, 0.18);
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.9rem;
}
/* /Components/Admin/PageNodeTreeEditor.razor.rz.scp.css */
.node-root[b-dsqo2v03y1] {
    --pn-surface: #201e34;
    --pn-surface-raised: #2b2847;
    --pn-surface-sunken: #17152a;
    --pn-border: rgba(255,255,255,.10);
    --pn-border-strong: rgba(255,255,255,.20);
    --pn-text-dim: #9d96b8;
    --pn-text-faint: #6f6790;
    --pn-accent: #6000ff;
    --pn-accent-light: #b973f7;
    --pn-accent-soft: rgba(96,0,255,.18);
    --pn-hero: #8b5cf6;
    --pn-hero-soft: rgba(139,92,246,.16);
    --pn-featured: #d9a441;
    --pn-featured-soft: rgba(217,164,65,.16);
    --pn-faq: #3fc7c0;
    --pn-faq-soft: rgba(63,199,192,.16);
    --pn-stats: #4fa3e0;
    --pn-stats-soft: rgba(79,163,224,.16);
    --pn-layout: #7c89ad;
    --pn-layout-soft: rgba(124,137,173,.18);
    --pn-default: #9d96b8;
    --pn-default-soft: rgba(157,150,184,.14);
    --pn-media: #e07fb4;
    --pn-media-soft: rgba(224,127,180,.16);
    --pn-conversion: #5fbf7f;
    --pn-conversion-soft: rgba(95,191,127,.16);
    --pn-danger: #e5484d;
    --pn-danger-soft: rgba(229,72,77,.14);
}

.node-root.is-panel[b-dsqo2v03y1] {
    background: var(--pn-surface);
    border: 1px solid var(--pn-border);
    border-radius: 14px;
    padding: 20px;
}

.panel-head[b-dsqo2v03y1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.panel-head h2[b-dsqo2v03y1] {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.count-pill[b-dsqo2v03y1] {
    font-size: .72rem;
    font-weight: 700;
    color: var(--pn-accent-light);
    background: var(--pn-accent-soft);
    border-radius: 999px;
    padding: 2px 10px;
}

.panel-hint[b-dsqo2v03y1] {
    font-size: .78rem;
    color: var(--pn-text-faint);
}

.node-stack[b-dsqo2v03y1] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.node-card[b-dsqo2v03y1] {
    background: var(--pn-surface-raised);
    border: 1px solid var(--pn-border);
    border-radius: 11px;
    transition: border-color .15s ease;
}

.node-card:hover[b-dsqo2v03y1] {
    border-color: var(--pn-border-strong);
}

.node-row[b-dsqo2v03y1] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    cursor: move;
}

.drag-handle[b-dsqo2v03y1] {
    color: var(--pn-text-faint);
    display: flex;
    flex: none;
    cursor: grab;
}

.order-buttons[b-dsqo2v03y1] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: none;
}

.order-btn[b-dsqo2v03y1] {
    width: 22px;
    height: 15px;
    padding: 0;
    line-height: 1;
    font-size: .65rem;
    border: none;
    background: transparent;
    color: var(--pn-text-faint);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.order-btn:hover[b-dsqo2v03y1] {
    color: var(--pn-text-dim);
    background: rgba(255,255,255,.06);
}

.type-chip[b-dsqo2v03y1] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    font-size: .95rem;
}

.type-chip.hero[b-dsqo2v03y1] { background: var(--pn-hero-soft); color: var(--pn-hero); }
.type-chip.featured[b-dsqo2v03y1] { background: var(--pn-featured-soft); color: var(--pn-featured); }
.type-chip.faq[b-dsqo2v03y1] { background: var(--pn-faq-soft); color: var(--pn-faq); }
.type-chip.stats[b-dsqo2v03y1] { background: var(--pn-stats-soft); color: var(--pn-stats); }
.type-chip.layout[b-dsqo2v03y1] { background: var(--pn-layout-soft); color: var(--pn-layout); }
.type-chip.default[b-dsqo2v03y1] { background: var(--pn-default-soft); color: var(--pn-default); }
.type-chip.media[b-dsqo2v03y1] { background: var(--pn-media-soft); color: var(--pn-media); }
.type-chip.conversion[b-dsqo2v03y1] { background: var(--pn-conversion-soft); color: var(--pn-conversion); }

.node-main[b-dsqo2v03y1] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.node-title-row[b-dsqo2v03y1] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.node-title[b-dsqo2v03y1] {
    font-size: .92rem;
    font-weight: 600;
}

.node-sub[b-dsqo2v03y1] {
    font-size: .75rem;
    color: var(--pn-text-faint);
}

.pill[b-dsqo2v03y1] {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .01em;
    padding: 2px 8px;
    border-radius: 999px;
    flex: none;
}

.pill.shared[b-dsqo2v03y1] { background: var(--pn-faq-soft); color: var(--pn-faq); }
.pill.local[b-dsqo2v03y1] { background: rgba(255,255,255,.08); color: var(--pn-text-dim); }

.node-actions[b-dsqo2v03y1] {
    display: flex;
    gap: 2px;
    flex: none;
}

.icon-btn[b-dsqo2v03y1] {
    width: 30px;
    height: 30px;
    border: none;
    background: transparent;
    color: var(--pn-text-dim);
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-btn:hover[b-dsqo2v03y1] {
    background: rgba(255,255,255,.07);
    color: #fff;
}

.icon-btn.danger:hover[b-dsqo2v03y1] {
    background: var(--pn-danger-soft);
    color: var(--pn-danger);
}

.node-body[b-dsqo2v03y1] {
    padding: 2px 16px 16px 66px;
    border-top: 1px solid var(--pn-border);
    margin-top: 2px;
    padding-top: 14px;
}

.node-body-actions[b-dsqo2v03y1] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.layout-slots[b-dsqo2v03y1] {
    display: flex;
    gap: 12px;
    padding: 4px 14px 14px 66px;
}

.slot[b-dsqo2v03y1] {
    flex: 1;
    min-width: 0;
    border: 1.5px dashed var(--pn-border-strong);
    border-radius: 10px;
    padding: 10px;
    background: rgba(255,255,255,.02);
}

.slot-label[b-dsqo2v03y1] {
    display: block;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    color: var(--pn-text-faint);
    margin-bottom: 8px;
}

.empty-state[b-dsqo2v03y1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    padding: 26px 16px;
    color: var(--pn-text-faint);
    border: 1.5px dashed var(--pn-border);
    border-radius: 11px;
}

.empty-state i[b-dsqo2v03y1] {
    font-size: 1.4rem;
    opacity: .7;
}

.empty-state .t1[b-dsqo2v03y1] {
    font-size: .88rem;
    font-weight: 600;
    color: var(--pn-text-dim);
}

.empty-state .t2[b-dsqo2v03y1] {
    font-size: .8rem;
}

.add-ghost[b-dsqo2v03y1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    border: 1.5px dashed var(--pn-border-strong);
    background: transparent;
    color: var(--pn-text-dim);
    border-radius: 11px;
    padding: 11px;
    font-size: .88rem;
    font-weight: 600;
    margin-top: 10px;
}

.add-ghost:hover[b-dsqo2v03y1] {
    border-color: var(--pn-accent-light);
    color: var(--pn-accent-light);
    background: rgba(185,115,247,.06);
}

.add-popover[b-dsqo2v03y1] {
    background: var(--pn-surface-raised);
    border: 1px solid var(--pn-border-strong);
    border-radius: 11px;
    padding: 14px;
    margin-top: 8px;
}

.popover-row[b-dsqo2v03y1] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.field label[b-dsqo2v03y1] {
    font-size: .75rem;
    color: var(--pn-text-faint);
}

.field select[b-dsqo2v03y1] {
    background: var(--pn-surface-sunken);
    border-color: var(--pn-border-strong);
    color: #fff;
    min-width: 160px;
}

.check-row[b-dsqo2v03y1] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 8px;
    font-size: .85rem;
    color: var(--pn-text-dim);
}

@media (max-width: 576px) {
    .node-body[b-dsqo2v03y1] {
        padding-left: 16px;
    }

    .layout-slots[b-dsqo2v03y1] {
        flex-direction: column;
        padding-left: 16px;
    }
}
/* /Components/Custom/Accordion/AccordionRender.razor.rz.scp.css */
/* Mirrors the FAQ list's collapse treatment so the two read as the same control - see
   FaqItem.razor.css. ::deep on the body because the markup comes from a MarkupString. */

.accordion-block__title[b-i0rtwjqxfa] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.4vw, 2.4rem);
    color: #ffffff;
}

.accordion-block__subtitle[b-i0rtwjqxfa] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.65);
}

.accordion-block__card[b-i0rtwjqxfa] {
    background-color: #201e34;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.accordion-block__card:has(.accordion-block__toggle:checked)[b-i0rtwjqxfa] {
    border-color: rgba(185, 115, 247, 0.4);
    box-shadow: 0 0 0 1px rgba(185, 115, 247, 0.15);
}

/* A <label> for the row's checkbox (see the .razor) - the focus styles hang off the checkbox,
   which is what actually takes keyboard focus. */
.accordion-block__trigger[b-i0rtwjqxfa] {
    background: transparent;
    border: none;
    color: #ffffff;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 0;
    cursor: pointer;
    user-select: none;
}

.accordion-block__trigger:hover[b-i0rtwjqxfa],
.accordion-block__toggle:focus-visible + .accordion-block__trigger[b-i0rtwjqxfa] {
    color: #b973f7;
    background: rgba(255, 255, 255, 0.03);
}

.accordion-block__toggle:focus-visible + .accordion-block__trigger[b-i0rtwjqxfa] {
    outline: 2px solid #6000ff;
    outline-offset: -2px;
    box-shadow: none;
}

.accordion-block__heading[b-i0rtwjqxfa] {
    padding-right: 1rem;
}

.accordion-block__chevron[b-i0rtwjqxfa] {
    display: inline-flex;
    flex-shrink: 0;
    color: #6F4CFF;
    transition: transform 0.25s ease;
}

.accordion-block__toggle:checked + .accordion-block__trigger .accordion-block__chevron[b-i0rtwjqxfa] {
    transform: rotate(180deg);
    color: #b973f7;
}

/* Smooth height animation without JS, using the CSS grid trick. */
.accordion-block__collapse[b-i0rtwjqxfa] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease;
}

.accordion-block__toggle:checked ~ .accordion-block__collapse[b-i0rtwjqxfa] {
    grid-template-rows: 1fr;
}

.accordion-block__collapse-inner[b-i0rtwjqxfa] {
    overflow: hidden;
    min-height: 0;
}

.accordion-block__body[b-i0rtwjqxfa] {
    color: rgba(255, 255, 255, 0.75);
    padding: 0 1.25rem 1.1rem 1.25rem;
    line-height: 1.55;
}

.accordion-block__body[b-i0rtwjqxfa]  p:last-child {
    margin-bottom: 0;
}

.accordion-block__body[b-i0rtwjqxfa]  a {
    color: #b973f7;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.accordion-block__body[b-i0rtwjqxfa]  ul,
.accordion-block__body[b-i0rtwjqxfa]  ol {
    padding-left: 1.25rem;
}

/*@media (max-width: 767.98px) {
    .accordion-block {
        width: 94% !important;
    }
}*/
/* /Components/Custom/AuthorByline/AuthorBylineRender.razor.rz.scp.css */
.byline[b-csk9t85xhi] {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
}

.byline__avatar[b-csk9t85xhi] {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(185, 115, 247, 0.14);
    color: rgba(255, 255, 255, 0.5);
    font-size: 1.4rem;
}

.byline__avatar-img[b-csk9t85xhi] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.byline__name[b-csk9t85xhi] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    color: #ffffff;
}

.byline__prefix[b-csk9t85xhi] {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.55);
    margin-right: 0.25rem;
}

.byline__role[b-csk9t85xhi] {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.6);
}

.byline__dates[b-csk9t85xhi] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
}

/* Separator between the two dates, so they don't need a hard-coded bullet in the markup. */
.byline__updated[b-csk9t85xhi]::before {
    content: "·";
    margin-inline: 0.4rem;
}

.byline__bio[b-csk9t85xhi] {
    font-size: 0.85rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.7);
}

/* /Components/Custom/Breadcrumbs/BreadcrumbsRender.razor.rz.scp.css */
/* Bootstrap's .breadcrumb hard-codes a light-theme separator colour via ::before content, so
   the trail is built from a plain <ol> with flex utilities instead. */

.breadcrumbs[b-cg38eus9v3] {
    padding-block: clamp(0.75rem, 2vw, 1.25rem);
}

.breadcrumbs__list[b-cg38eus9v3] {
    list-style: none;
    font-size: 0.85rem;
    row-gap: 0.25rem;
}

.breadcrumbs__link[b-cg38eus9v3] {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color 0.18s ease;
}

.breadcrumbs__link:hover[b-cg38eus9v3],
.breadcrumbs__link:focus-visible[b-cg38eus9v3] {
    color: #b973f7;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.breadcrumbs__current[b-cg38eus9v3] {
    color: #ffffff;
    font-weight: 500;
}

.breadcrumbs__sep[b-cg38eus9v3] {
    color: rgba(255, 255, 255, 0.3);
}

/*@media (max-width: 767.98px) {
    .breadcrumbs {
        width: 94% !important;
    }
}
*/
/* /Components/Custom/CalloutBox/CalloutBoxRender.razor.rz.scp.css */
/* Layout and spacing come from Bootstrap utilities in the markup - this file covers the
   per-variant colour treatment and the generated-HTML body, which can't carry classes.
   ::deep is required for the body because the markup comes from a MarkupString. */

.callout[b-w28b3k1asi] {
    border-radius: 16px;
    border: 1px solid;
    background: rgba(255, 255, 255, 0.04);
}

.callout__icon[b-w28b3k1asi] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: 1.25rem;
}

.callout__icon-text[b-w28b3k1asi] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: -0.02em;
}

.callout__title[b-w28b3k1asi] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: #ffffff;
}

.callout__body[b-w28b3k1asi] {
    font-size: 0.95rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.78);
}

/* Markdig emits a wrapping <p> for a single paragraph; drop its trailing margin so a
   one-line callout isn't bottom-heavy. */
.callout__body[b-w28b3k1asi]  p:last-child {
    margin-bottom: 0;
}

.callout__body[b-w28b3k1asi]  ul,
.callout__body[b-w28b3k1asi]  ol {
    padding-left: 1.25rem;
    margin-bottom: 0;
}

.callout__body[b-w28b3k1asi]  a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 600;
}

.callout--info[b-w28b3k1asi] {
    border-color: rgba(185, 115, 247, 0.35);
}

.callout--info .callout__icon[b-w28b3k1asi] {
    background: rgba(185, 115, 247, 0.16);
    color: #d8b4fe;
}

.callout--tip[b-w28b3k1asi] {
    border-color: rgba(74, 222, 128, 0.35);
}

.callout--tip .callout__icon[b-w28b3k1asi] {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.callout--warning[b-w28b3k1asi] {
    border-color: rgba(251, 191, 36, 0.4);
}

.callout--warning .callout__icon[b-w28b3k1asi] {
    background: rgba(245, 158, 11, 0.16);
    color: #fcd34d;
}

.callout--age[b-w28b3k1asi] {
    border-color: rgba(248, 113, 113, 0.4);
}

.callout--age .callout__icon[b-w28b3k1asi] {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
}

/*@media (max-width: 767.98px) {
    .callout {
        width: 94% !important;
    }
}
*/
/* /Components/Custom/CasinoOffersList/CasinoOffersListRender.razor.rz.scp.css */
.casino-offers__title[b-m478j6jnno] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.casino-offers__subtitle[b-m478j6jnno] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.65);
}

.casino-offers__card[b-m478j6jnno] {
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.12) 0%, rgba(24, 5, 82, 0.5) 45%, rgba(32, 30, 52, 0.8) 100%);
    border: 1px solid rgba(185, 115, 247, 0.22);
    border-radius: 14px;
}

.casino-offers__name[b-m478j6jnno] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: #ffffff;
}

.casino-offers__desc[b-m478j6jnno] {
    font-size: 0.9rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.75);
}

.casino-offers__terms[b-m478j6jnno] {
    font-size: 0.72rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.45);
}

.casino-offers__cta[b-m478j6jnno] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    padding: 0.7rem 1.5rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    transition: transform 0.18s ease, background 0.18s ease;
}

.casino-offers__cta:hover[b-m478j6jnno],
.casino-offers__cta:focus-visible[b-m478j6jnno] {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

/*@media (max-width: 767.98px) {
    .casino-offers {
        width: 94% !important;
    }
}*/
/* /Components/Custom/CasinoStats/CasinoStatsRender.razor.rz.scp.css */
/* Mirrors GameStatsRender.razor.css - same tile grid, casino-specific class names. Tiles here
   can hold longer comma-joined lists (payment methods etc), so those use --full to claim the
   whole row rather than being squeezed into a half-width tile. */

.casino-stats[b-u11vs6hakh] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.casino-stats__inner[b-u11vs6hakh] {
    width: 100%;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 18px;
    padding: clamp(1.25rem, 3vw, 2rem);
    box-shadow: 0 20px 45px -20px rgba(2, 0, 36, 0.6);
}

.casino-stats__header[b-u11vs6hakh] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.casino-stats__header--centered[b-u11vs6hakh] {
    justify-content: center;
    text-align: center;
}

.casino-stats__logo[b-u11vs6hakh] {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    padding: 6px;
    flex: none;
}

.casino-stats__title[b-u11vs6hakh] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.3rem, 2.6vw, 1.7rem);
    color: #ffffff;
    margin: 0;
}

.casino-stats__grid[b-u11vs6hakh] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.casino-stats__tile--full[b-u11vs6hakh] {
    grid-column: 1 / -1;
}

.casino-stats__tile[b-u11vs6hakh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    min-width: 0;
    text-align: center;
}

.casino-stats__label[b-u11vs6hakh] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b973f7;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.casino-stats__value[b-u11vs6hakh] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: #ffffff;
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 420px) {
    .casino-stats__grid[b-u11vs6hakh] {
        grid-template-columns: 1fr;
    }

    .casino-stats__tile--full[b-u11vs6hakh] {
        grid-column: 1;
    }
}
/* /Components/Custom/CasinoTitle/CasinoTitleRender.razor.rz.scp.css */
/* Mirrors GameTitleRender.razor.css - same masthead treatment, casino-specific class names. */

.casino-title[b-tksbb27ua5] {
    display: flex;
    height: 100%;
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.casino-title__inner[b-tksbb27ua5] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 18px;
    padding: clamp(1.75rem, 3.5vw, 2.5rem);
    box-shadow: 0 20px 45px -20px rgba(2, 0, 36, 0.6);
}

.casino-title__logo-wrap[b-tksbb27ua5] {
    flex: none;
    width: clamp(110px, 16vw, 200px);
    height: clamp(110px, 16vw, 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem;
}

.casino-title__logo[b-tksbb27ua5] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
}

.casino-title__body[b-tksbb27ua5] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 0;
}

.casino-title__eyebrow[b-tksbb27ua5] {
    display: inline-block;
    align-self: flex-start;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b973f7;
    background: rgba(96, 0, 255, 0.16);
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 999px;
    padding: 0.3rem 0.85rem;
}

.casino-title__name[b-tksbb27ua5] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0;
    overflow-wrap: anywhere;
}

.casino-title__desc[b-tksbb27ua5] {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    max-width: 60ch;
}

@media (max-width: 767.98px) {
    .casino-title__inner[b-tksbb27ua5] {
        flex-direction: column;
        text-align: center;
        padding: 1.75rem;
    }

    .casino-title__body[b-tksbb27ua5] {
        align-items: center;
    }
}
/* /Components/Custom/ComparisonTable/ComparisonTableRender.razor.rz.scp.css */
/* Bootstrap's .table-responsive provides the horizontal scroll; this file re-themes .table for
   the dark background, which Bootstrap's light defaults fight. */

.compare__title[b-bug5toa8bi] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.compare__subtitle[b-bug5toa8bi] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.65);
}

.compare__table[b-bug5toa8bi] {
    border-radius: 16px;
    overflow: hidden;
    min-width: 520px;
    border: 1px solid rgba(185, 115, 247, 0.25);
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.12) 0%, rgba(24, 5, 82, 0.5) 45%, rgba(32, 30, 52, 0.8) 100%);
    --bs-table-color: rgba(255, 255, 255, 0.82);
    --bs-table-bg: transparent;
    --bs-table-border-color: rgba(255, 255, 255, 0.1);
}

.compare__table :is(th, td)[b-bug5toa8bi] {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    background: transparent;
}

.compare__corner[b-bug5toa8bi] {
    width: 25%;
}

.compare__head[b-bug5toa8bi] {
    border-bottom: 2px solid rgba(185, 115, 247, 0.35);
}

.compare__logo[b-bug5toa8bi] {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    padding: 4px;
}

.compare__name[b-bug5toa8bi] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    color: #ffffff;
}

.compare__head a:hover .compare__name[b-bug5toa8bi] {
    color: #b973f7;
}

.compare__label[b-bug5toa8bi] {
    font-weight: 600;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.55);
}

.compare__value[b-bug5toa8bi] {
    font-weight: 500;
    color: #ffffff;
}

.compare__cta[b-bug5toa8bi] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.8rem;
    text-decoration: none;
    color: #ffffff;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    transition: background 0.18s ease;
}

.compare__cta:hover[b-bug5toa8bi],
.compare__cta:focus-visible[b-bug5toa8bi] {
    color: #ffffff;
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.compare__cta-arrow[b-bug5toa8bi] {
    transition: transform 0.18s ease;
}

.compare__cta:hover .compare__cta-arrow[b-bug5toa8bi] {
    transform: translateX(3px);
}

/*@media (max-width: 767.98px) {
    .compare {
        width: 94% !important;
    }
}
*/
/* /Components/Custom/ContactUs/ContactUsRender.razor.rz.scp.css */
.contact-us[b-r46fw177dn] {
    padding-block: clamp(1rem, 3vw, 2rem);
}

.contact-us__title[b-r46fw177dn] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.contact-us__subtitle[b-r46fw177dn] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.65);
}

.contact-us__form[b-r46fw177dn],
.contact-us__success[b-r46fw177dn] {
    max-width: 560px;
}

.contact-us__form .form-control[b-r46fw177dn] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(185, 115, 247, 0.3);
    color: #ffffff;
}

.contact-us__form .form-control[b-r46fw177dn]::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.contact-us__form .form-control:focus[b-r46fw177dn] {
    background: rgba(255, 255, 255, 0.1);
    border-color: #b973f7;
    box-shadow: 0 0 0 0.2rem rgba(185, 115, 247, 0.2);
    color: #ffffff;
}

.contact-us__form .form-label[b-r46fw177dn] {
    color: rgba(255, 255, 255, 0.85);
}

.contact-us__submit[b-r46fw177dn] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    white-space: nowrap;
    color: #ffffff;
    border: 0;
    border-radius: 999px;
    padding: 0.75rem 1.75rem;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    transition: background 0.18s ease, transform 0.18s ease;
}

.contact-us__submit:hover:not(:disabled)[b-r46fw177dn],
.contact-us__submit:focus-visible:not(:disabled)[b-r46fw177dn] {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.contact-us__submit:disabled[b-r46fw177dn] {
    opacity: 0.6;
    cursor: not-allowed;
}

/*@media (max-width: 767.98px) {
    .contact-us {
        width: 94% !important;
    }
}*/
/* /Components/Custom/CtaButton/CtaButtonRender.razor.rz.scp.css */
/* Alignment and layout come from Bootstrap flex utilities in the markup - this file covers the
   brand button treatments, which don't map onto Bootstrap's .btn variants. */

.cta__button[b-8xrhaxw66i] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    padding: 0.85rem 2rem;
    border-radius: 999px;
    border: 1px solid transparent;
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.cta__button:hover[b-8xrhaxw66i],
.cta__button:focus-visible[b-8xrhaxw66i] {
    transform: translateY(-2px);
}

.cta__arrow[b-8xrhaxw66i] {
    transition: transform 0.18s ease;
}

.cta__button:hover .cta__arrow[b-8xrhaxw66i],
.cta__button:focus-visible .cta__arrow[b-8xrhaxw66i] {
    transform: translateX(3px);
}

.cta__button--primary[b-8xrhaxw66i] {
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    box-shadow: 0 18px 40px -20px rgba(185, 115, 247, 0.8);
}

.cta__button--primary:hover[b-8xrhaxw66i],
.cta__button--primary:focus-visible[b-8xrhaxw66i] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.cta__button--secondary[b-8xrhaxw66i] {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(185, 115, 247, 0.35);
}

.cta__button--secondary:hover[b-8xrhaxw66i],
.cta__button--secondary:focus-visible[b-8xrhaxw66i] {
    background: rgba(255, 255, 255, 0.14);
    border-color: #b973f7;
}

.cta__button--outline[b-8xrhaxw66i] {
    color: #b973f7;
    background: transparent;
    border-color: #b973f7;
}

.cta__button--outline:hover[b-8xrhaxw66i],
.cta__button--outline:focus-visible[b-8xrhaxw66i] {
    color: #ffffff;
    background: rgba(185, 115, 247, 0.16);
}

.cta__subtext[b-8xrhaxw66i] {
    font-size: 0.78rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.55);
    max-width: 46ch;
}

/*@media (max-width: 767.98px) {
    .cta {
        width: 94% !important;
    }
}*/
/* /Components/Custom/Divider/DividerRender.razor.rz.scp.css */
/* Bootstrap's spacing utilities top out at 3rem and don't scale with the viewport, so the
   sizes here are fluid instead. */

.divider--sm[b-ihm9ypb3ov] {
    padding-block: clamp(0.5rem, 1.5vw, 1rem);
}

.divider--md[b-ihm9ypb3ov] {
    padding-block: clamp(1rem, 3vw, 2rem);
}

.divider--lg[b-ihm9ypb3ov] {
    padding-block: clamp(2rem, 6vw, 4rem);
}

.divider--space[b-ihm9ypb3ov] {
    /* No rule to draw - the block's own padding is the whole point. */
    padding-block: 0;
}

.divider--space.divider--sm[b-ihm9ypb3ov] { height: clamp(0.5rem, 1.5vw, 1rem); }
.divider--space.divider--md[b-ihm9ypb3ov] { height: clamp(1rem, 3vw, 2rem); }
.divider--space.divider--lg[b-ihm9ypb3ov] { height: clamp(2rem, 6vw, 4rem); }

.divider__rule[b-ihm9ypb3ov] {
    margin: 0;
    border: 0;
    height: 1px;
    opacity: 1;
}

.divider__rule--line[b-ihm9ypb3ov] {
    background: rgba(185, 115, 247, 0.25);
}

.divider__rule--gradient[b-ihm9ypb3ov] {
    background: linear-gradient(90deg, rgba(185, 115, 247, 0) 0%, rgba(185, 115, 247, 0.55) 50%, rgba(185, 115, 247, 0) 100%);
}

/*@media (max-width: 767.98px) {
    .divider:not(.divider--space) {
        width: 94% !important;
    }
}
*/
/* /Components/Custom/DynamicHero/DynamicHeroSection.razor.rz.scp.css */
.dynamic-hero[b-fkxu5gmsg1] {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: center;
    background-color: #020024;
    /* Full-bleed - cqw (MainLayout's .app), not vw, which includes the vertical scrollbar. */
    width: 100cqw;
    margin-left: calc(50% - 50cqw);
    margin-right: calc(50% - 50cqw);
}

.dynamic-hero__bg-image[b-fkxu5gmsg1] {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
}

.dynamic-hero__overlay[b-fkxu5gmsg1] {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image: linear-gradient(180deg, rgba(2, 0, 36, 0.55) 0%, rgba(24, 5, 82, 0.72) 55%, rgba(50, 0, 110, 0.94) 100%);
}

.dynamic-hero__inner[b-fkxu5gmsg1] {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-block: clamp(3rem, 8vw, 6rem);
}

.dynamic-hero__content[b-fkxu5gmsg1] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.dynamic-hero__heading[b-fkxu5gmsg1] {
    font-family: 'Sora', sans-serif;
    font-weight: 800;
    letter-spacing: -0.01em;
    font-size: clamp(2.6rem, 6vw, 4.6rem);
    line-height: 1.1;
    margin: 0 0 1.1rem;
    color: #fff;
    text-shadow: 0 0 4px rgba(216, 180, 254, 0.55), 0 0 12px rgba(185, 115, 247, 0.55), 0 0 28px rgba(96, 0, 255, 0.4);
}

.dynamic-hero__description[b-fkxu5gmsg1] {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
    margin: 0 0 1rem;
    max-width: 100ch;
}

.dynamic-hero__description:last-of-type[b-fkxu5gmsg1] {
    margin-bottom: 1.9rem;
}

/* Mobile */
@media (max-width: 575.98px) {
    .dynamic-hero__content[b-fkxu5gmsg1] {
        max-width: 100%;
    }
}

.dynamic-hero__expand[b-fkxu5gmsg1] {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .45s ease, opacity .35s ease;
}

    .dynamic-hero__toggle:checked ~ .dynamic-hero__expand[b-fkxu5gmsg1] {
        max-height: 500px;
        opacity: 1;
    }

/* Desktop */
@media (min-width: 768px) {
    .dynamic-hero__expand[b-fkxu5gmsg1] {
        max-height: none;
        opacity: 1;
        overflow: visible;
    }

    /* display:none only here, where the control isn't shown - below this the checkbox is merely
       visually-hidden so it stays focusable for keyboard visitors. */
    .dynamic-hero__toggle[b-fkxu5gmsg1],
    .dynamic-hero__read-more[b-fkxu5gmsg1] {
        display: none;
    }
}

.dynamic-hero__read-more[b-fkxu5gmsg1] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.5rem;
    padding: 0;
    background: none;
    border: 0;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .2s ease;
}

    .dynamic-hero__read-more:hover[b-fkxu5gmsg1] {
        opacity: .8;
    }

    .dynamic-hero__read-more[b-fkxu5gmsg1]::after {
        content: "▾";
        transition: transform .3s ease;
    }

.dynamic-hero__read-more-close[b-fkxu5gmsg1] {
    display: none;
}

.dynamic-hero__toggle:checked ~ div .dynamic-hero__read-more-open[b-fkxu5gmsg1] {
    display: none;
}

.dynamic-hero__toggle:checked ~ div .dynamic-hero__read-more-close[b-fkxu5gmsg1] {
    display: inline;
}

.dynamic-hero__toggle:checked ~ div .dynamic-hero__read-more[b-fkxu5gmsg1]::after {
    transform: rotate(180deg);
}

.dynamic-hero__toggle:focus-visible ~ div .dynamic-hero__read-more[b-fkxu5gmsg1] {
    outline: 2px solid #b973f7;
    outline-offset: 2px;
}
/* /Components/Custom/FAQ/FaqItem.razor.rz.scp.css */
.faq-card[b-1xtlr5hu7w] {
    background-color: #201e34;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .faq-card:has(.faq-toggle:checked)[b-1xtlr5hu7w] {
        border-color: rgba(185, 115, 247, 0.4);
        box-shadow: 0 0 0 1px rgba(185, 115, 247, 0.15);
    }

/* A <label> for the item's checkbox (see FAQItem.razor) - the focus styles hang off the
   checkbox, which is what actually takes keyboard focus. */
.faq-question-btn[b-1xtlr5hu7w] {
    background: transparent;
    border: none;
    color: #ffffff;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 0;
    cursor: pointer;
    user-select: none;
}

    .faq-question-btn:hover[b-1xtlr5hu7w],
    .faq-toggle:focus-visible + .faq-question-btn[b-1xtlr5hu7w] {
        color: #b973f7;
        background: rgba(255, 255, 255, 0.03);
    }

    .faq-toggle:focus-visible + .faq-question-btn[b-1xtlr5hu7w] {
        outline: 2px solid #6000ff;
        outline-offset: -2px;
        box-shadow: none;
    }

.faq-question-text[b-1xtlr5hu7w] {
    padding-right: 1rem;
}

.faq-chevron[b-1xtlr5hu7w] {
    display: inline-flex;
    flex-shrink: 0;
    color: #6F4CFF;
    transition: transform 0.25s ease;
}

.faq-toggle:checked + .faq-question-btn .faq-chevron[b-1xtlr5hu7w] {
    transform: rotate(180deg);
    color: #b973f7;
}

/* Smooth height animation without JS, using the CSS grid trick */
.faq-collapse[b-1xtlr5hu7w] {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease;
}

.faq-toggle:checked ~ .faq-collapse[b-1xtlr5hu7w] {
    grid-template-rows: 1fr;
}

.faq-collapse-inner[b-1xtlr5hu7w] {
    overflow: hidden;
    min-height: 0;
}

.faq-answer-body[b-1xtlr5hu7w] {
    color: rgba(255, 255, 255, 0.75);
    padding: 0 1.25rem 1.1rem 1.25rem;
    line-height: 1.55;
}
/* /Components/Custom/FAQ/FAQList.razor.rz.scp.css */



.faq-title[b-vdyngyei8d] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

    .faq-title[b-vdyngyei8d]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 5.5rem;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
    }

.faq-subtitle[b-vdyngyei8d] {
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 1.5rem;
}

.faq-list[b-vdyngyei8d] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
/* /Components/Custom/FAQ/FAQListEditor.razor.rz.scp.css */

.faq-title[b-idru1ta11n] {
    font-family: 'Sora', sans-serif;
    color: #ffffff;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.faq-subtitle[b-idru1ta11n] {
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 1.5rem;
}

.faq-list[b-idru1ta11n] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
/* /Components/Custom/FeaturedList/FeaturedList.razor.rz.scp.css */
.text-section-title[b-35lfurfza4] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

    .text-section-title[b-35lfurfza4]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 5.5rem;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
    }
p[b-35lfurfza4] {
    font-family: 'Poppins', sans-serif;
    color: rgba(255, 255, 255, 0.82);
}

.subtitle-desc[b-35lfurfza4] {
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
}
/* /Components/Custom/FeaturedList/FeaturedListItem.razor.rz.scp.css */
/* BonusCard.razor.css — CSS isolation, scoped automatically to BonusCard.razor */

.bonus-card[b-1rpsmjxgab] {
	--ink: #F4F6FF;
	--gold: #D9A441;
	--gold-bright: #F2C96B;
	--muted: #B4B8D4;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
	border: 1px solid rgba(185, 115, 247, 0.25);
	border-radius: 18px;
	padding: 1.5rem;
	box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--ink);
	width: 100%;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

	.bonus-card:hover[b-1rpsmjxgab],
	.bonus-card:focus-within[b-1rpsmjxgab] {
		transform: translateY(-4px);
		border-color: #b973f7;
		box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
	}

.bonus-card__logo-col[b-1rpsmjxgab] {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.bonus-card__logo-wrap[b-1rpsmjxgab] {
	flex: 0 0 auto;
	width: 184px;
	height: 184px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.06);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: inset 0 0 0 1px rgba(185, 115, 247, 0.35);
}

.bonus-card__logo[b-1rpsmjxgab] {
	width: 100%;
	height: 100%;
	border-radius: 14px;
	object-fit: contain;
}

/* The star rating now lives in the shared RatingStars component, which inherits --gold-bright
   from .bonus-card above. Its default font-size already matches the 1.85rem-to-2.1rem range
   this file used to set here and in the mobile breakpoint. */

.bonus-card__body[b-1rpsmjxgab] {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.bonus-card__headline[b-1rpsmjxgab] {
	margin: 0;
	font-family: 'Sora', sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: #ffffff;

}

.bonus-card__info[b-1rpsmjxgab] {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.45;
	color: var(--ink);
}

.bonus-card__cta[b-1rpsmjxgab] {
	align-self: flex-start;
	margin-top: 0.6rem;
	padding: 0.7rem 1.6rem;
	border: 1px solid rgba(185, 115, 247, 0.5);
	border-radius: 999px;
	background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
	color: #ffffff;
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 10px 30px -8px rgba(96, 0, 255, 0.65);
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

	.bonus-card__cta:hover[b-1rpsmjxgab] {
		background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
		box-shadow: 0 14px 34px -6px rgba(185, 115, 247, 0.6);
		transform: translateY(-1px);
	}

	.bonus-card__cta:active[b-1rpsmjxgab] {
		transform: translateY(0);
	}

	.bonus-card__cta:focus-visible[b-1rpsmjxgab] {
		outline: 2px solid #b973f7;
		outline-offset: 3px;
	}

.bonus-card__terms[b-1rpsmjxgab] {
	margin: 0.4rem 0 0;
	font-size: 0.7rem;
	line-height: 1.4;
	color: var(--muted);
}

/* Stack vertically on narrow viewports */
@media (max-width: 640px) {
	.bonus-card[b-1rpsmjxgab] {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
		padding: 1.25rem;
	}

	.bonus-card__logo-col[b-1rpsmjxgab] {
		align-self: center;
	}

	.bonus-card__logo-wrap[b-1rpsmjxgab] {
		width: 64px;
		height: 64px;
	}

	.bonus-card__cta[b-1rpsmjxgab] {
		align-self: stretch;
		text-align: center;
		align-items: center;
		align-content: center;
	}
}

/* Below 576px: logo + headline share a row (logo left, headline right), no description, button
   and terms each take their own full-width row below. .bonus-card__body is flattened via
   display:contents so its children become direct flex items of .bonus-card alongside
   .bonus-card__logo-col - no markup duplication needed to achieve the row pairing. */
@media (max-width: 575.98px) {
	.bonus-card[b-1rpsmjxgab] {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.75rem;
		padding: .5rem;
	}

	.bonus-card__body[b-1rpsmjxgab] {
		display: contents;
	}

	.bonus-card__info[b-1rpsmjxgab] {
		display: none;
	}

	.bonus-card__logo-col[b-1rpsmjxgab] {
		align-self: flex-start;
	}

	.bonus-card__logo-wrap[b-1rpsmjxgab] {
		border-radius: 20px;
		width: 120px;
		height: 120px;
		box-shadow: none;
	}

	.bonus-card__logo[b-1rpsmjxgab] {
		border-radius: 20px;
	}

	.bonus-card__headline[b-1rpsmjxgab] {
		/* flex-basis: 0 (not auto) so the browser's line-wrapping pass sizes this by available
		   space rather than by the headline's full text width - otherwise a long headline's
		   content width alone is enough to push it past the space left by the logo and it wraps
		   onto its own line instead of sharing the row. */
		flex: 1 1 0%;
		min-width: 0;
		align-self: center;
		margin: 0;
		text-align: left;
	}

	.bonus-card__cta[b-1rpsmjxgab] {
		flex: 1 1 100%;
	}

	.bonus-card__terms[b-1rpsmjxgab] {
		flex: 1 1 100%;
	}
}

/* In the 576-640px band the logo box shrinks to 64px - narrower than the ribbon, which would be
   truncated to nothing - so the ribbon steps aside there (it is back at 120px below 576px). */
@media (min-width: 576px) and (max-width: 640px) {
	.bonus-card__logo-wrap[b-1rpsmjxgab]  .card-ribbon {
		display: none;
	}
}
/* /Components/Custom/GameOffersCarousel/GameOffersCarouselRender.razor.rz.scp.css */
/* Look mirrors TaggedGamesListRender (carousel track, arrows, card) with the offer pill CTA and
   terms from GameOffersRender. Layout/spacing come from Bootstrap utilities in the markup. */

.offers-carousel[b-en34a2sa9u] {
    margin-top: 1rem;
}

.offers-carousel__title[b-en34a2sa9u] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    position: relative;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

.offers-carousel__title[b-en34a2sa9u]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5.5rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
}

.offers-carousel__subtitle[b-en34a2sa9u] {
    color: rgba(255, 255, 255, .8);
}

.offers-carousel__track[b-en34a2sa9u] {
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgba(185, 115, 247, 0.5) transparent;
    /* Room for the cards' lift-on-hover transform so it isn't clipped by the scroll box. */
    padding-block: 0.35rem;
}

.offers-carousel__track[b-en34a2sa9u]::-webkit-scrollbar {
    height: 6px;
}

.offers-carousel__track[b-en34a2sa9u]::-webkit-scrollbar-thumb {
    background: rgba(185, 115, 247, 0.5);
    border-radius: 999px;
}

.offers-carousel__track[b-en34a2sa9u]::-webkit-scrollbar-track {
    background: transparent;
}

.offers-carousel__nav[b-en34a2sa9u] {
    width: 40px;
    height: 40px;
    z-index: 2;
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(24, 5, 82, 0.85);
    backdrop-filter: blur(6px);
    box-shadow: 0 10px 30px -12px rgba(2, 0, 36, 0.8);
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.offers-carousel__nav:hover[b-en34a2sa9u],
.offers-carousel__nav:focus-visible[b-en34a2sa9u] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
    border-color: #b973f7;
}

.offers-carousel__nav.start-0[b-en34a2sa9u] {
    transform: translate(-50%, -50%);
}

.offers-carousel__nav.end-0[b-en34a2sa9u] {
    transform: translate(50%, -50%);
}

.offers-carousel__card[b-en34a2sa9u] {
    flex: 0 0 clamp(220px, 72vw, 264px);
    scroll-snap-align: start;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 16px;
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.offers-carousel__card:hover[b-en34a2sa9u],
.offers-carousel__card:focus-within[b-en34a2sa9u] {
    transform: translateY(-4px);
    border-color: #b973f7;
    box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
}

.offers-carousel__card-logo[b-en34a2sa9u] {
    width: 140px;
    height: 140px;
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
}

.offers-carousel__card-logo--placeholder[b-en34a2sa9u] {
    color: rgba(255, 255, 255, 0.4);
    font-size: 3.4rem;
}

.offers-carousel__card-title[b-en34a2sa9u] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #ffffff;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* RatingStars' root is d-inline-flex with no justify-content of its own; the flex-column card
   content stretches it to full width by default, so without this its stars pack to the left. */
.offers-carousel__card[b-en34a2sa9u]  .rating-stars {
    justify-content: center;
}

.offers-carousel__card-desc[b-en34a2sa9u] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
}

.offers-carousel__card-cta[b-en34a2sa9u] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border-radius: 999px;
    transition: transform 0.18s ease, background 0.18s ease;
    text-decoration: none;
}

.offers-carousel__card:hover .offers-carousel__card-cta[b-en34a2sa9u],
.offers-carousel__card-cta:focus-visible[b-en34a2sa9u] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.offers-carousel__card-cta:focus-visible[b-en34a2sa9u] {
    outline: 2px solid #b973f7;
    outline-offset: 3px;
}

/* "Read T&Cs" - a button (popovertarget only works on buttons) dressed as a small link. */
.offers-carousel__terms-link[b-en34a2sa9u] {
    align-self: center;
    margin-top: 0.6rem;
    padding: 0;
    border: 0;
    background: none;
    font-size: 0.75rem;
    color: #b973f7;
    text-decoration: underline;
    cursor: pointer;
}

.offers-carousel__terms-link:hover[b-en34a2sa9u],
.offers-carousel__terms-link:focus-visible[b-en34a2sa9u] {
    color: #d9b3ff;
}

/* A native popover renders in the top layer, so the track's overflow can't clip it. page-widgets.js
   sets top/left (and width) to anchor it under the link; without that it sits centred. */
.offers-carousel__terms-pop[b-en34a2sa9u] {
    width: min(320px, calc(100vw - 24px));
    max-height: 60vh;
    margin: 0;
    padding: 0.85rem 1rem;
    overflow: auto;
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 16px;
    background: rgba(24, 5, 82, 0.98);
    box-shadow: 0 20px 45px -18px rgba(2, 0, 36, 0.9);
    color: rgb(244, 246, 255);
    font-size: 0.75rem;
    line-height: 1.5;
    text-align: left;
}

.offers-carousel__terms-head[b-en34a2sa9u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
}

.offers-carousel__terms-close[b-en34a2sa9u] {
    padding: 0 0.25rem;
    border: 0;
    background: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
}

.offers-carousel__terms-close:hover[b-en34a2sa9u],
.offers-carousel__terms-close:focus-visible[b-en34a2sa9u] {
    color: #ffffff;
}

/* The terms are injected as raw markup, so their own elements don't carry this component's scope id. */
.offers-carousel__terms-body[b-en34a2sa9u] {
    color: rgb(180, 184, 212);
}

.offers-carousel__terms-body[b-en34a2sa9u]  p {
    margin: 0 0 0.5rem;
}

.offers-carousel__terms-body[b-en34a2sa9u]  p:last-child {
    margin-bottom: 0;
}

.offers-carousel__terms-body[b-en34a2sa9u]  a {
    color: #b973f7;
}

/* No Popover API: drop the link and show the terms inline so they're never unreachable. */
@supports not selector(:popover-open) {
    .offers-carousel__terms-link[b-en34a2sa9u],
    .offers-carousel__terms-close[b-en34a2sa9u] {
        display: none;
    }

    .offers-carousel__terms-pop[b-en34a2sa9u] {
        width: auto;
        max-height: none;
        margin-top: 0.6rem;
        padding: 0;
        border: 0;
        background: none;
        box-shadow: none;
    }
}

@media (max-width: 576px) {
    .offers-carousel__card[b-en34a2sa9u] {
        padding: .75rem !important;
    }
}
/* /Components/Custom/GameOffers/GameOffersRender.razor.rz.scp.css */
/* Section heading - aligned with FeaturedList.razor.css's .text-section-title/.subtitle-desc so
   the whole component matches, not just the individual cards below. */
.game-offers__title[b-kr6geb4qw5] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    position: relative;
    padding-bottom: 0.75rem;
}

.game-offers__title[b-kr6geb4qw5]::after {
    content: "";
    position: absolute;
    left: 0%;
    bottom: 0;
    width: 5.5rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
}

.game-offers__subtitle[b-kr6geb4qw5] {
    font-family: 'Poppins', sans-serif;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
}

/* Card - ported verbatim from Components/Custom/FeaturedList/FeaturedListItem.razor.css's
   .bonus-card* rules (renamed to .game-offers__*) so offers look identical everywhere on the
   site. Only .game-offers__cta differs in kind, not look: it's an <a>, not a <button>, so it
   needs text-decoration/display added - every value otherwise matches .bonus-card__cta exactly. */
.game-offers__card[b-kr6geb4qw5] {
    --ink: #F4F6FF;
    --gold: #D9A441;
    --gold-bright: #F2C96B;
    --muted: #B4B8D4;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--ink);
    width: 100%;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

    .game-offers__card:hover[b-kr6geb4qw5],
    .game-offers__card:focus-within[b-kr6geb4qw5] {
        transform: translateY(-4px);
        border-color: #b973f7;
        box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
    }

.game-offers__logo-col[b-kr6geb4qw5] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.game-offers__logo-wrap[b-kr6geb4qw5] {
    flex: 0 0 auto;
    width: 184px;
    height: 184px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px rgba(185, 115, 247, 0.35);
    color: rgba(255, 255, 255, 0.35);
    font-size: 1.4rem;
}

.game-offers__logo-img[b-kr6geb4qw5] {
    width: 100%;
    height: 100%;
    border-radius: 14px;
    object-fit: contain;
}

.game-offers__body[b-kr6geb4qw5] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.game-offers__name[b-kr6geb4qw5] {
    margin: 0;
    font-family: 'Sora', sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
}

.game-offers__desc[b-kr6geb4qw5] {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--ink);
}

.game-offers__cta[b-kr6geb4qw5] {
    align-self: flex-start;
    margin-top: 0.6rem;
    padding: 0.7rem 1.6rem;
    border: 1px solid rgba(185, 115, 247, 0.5);
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    color: #ffffff;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    box-shadow: 0 10px 30px -8px rgba(96, 0, 255, 0.65);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

    .game-offers__cta:hover[b-kr6geb4qw5] {
        background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
        box-shadow: 0 14px 34px -6px rgba(185, 115, 247, 0.6);
        transform: translateY(-1px);
    }

    .game-offers__cta:active[b-kr6geb4qw5] {
        transform: translateY(0);
    }

    .game-offers__cta:focus-visible[b-kr6geb4qw5] {
        outline: 2px solid #b973f7;
        outline-offset: 3px;
    }

.game-offers__terms[b-kr6geb4qw5] {
    margin: 0.4rem 0 0;
    font-size: 0.7rem;
    line-height: 1.4;
    color: var(--muted);
}

/* Stack vertically on narrow viewports. */
@media (max-width: 640px) {
    .game-offers__card[b-kr6geb4qw5] {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding: 1.25rem;
    }

    .game-offers__logo-col[b-kr6geb4qw5] {
        align-self: center;
    }

    .game-offers__logo-wrap[b-kr6geb4qw5] {
        width: 64px;
        height: 64px;
    }

    .game-offers__cta[b-kr6geb4qw5] {
        align-self: stretch;
        text-align: center;
        align-items: center;
        align-content: center;
    }
}

/* Below 576px: logo + name share a row (logo left, name right), no description, button and
   terms each take their own full-width row below. .game-offers__body is flattened via
   display:contents so its children become direct flex items of .game-offers__card alongside
   .game-offers__logo-col - no markup duplication needed to achieve the row pairing. */
@media (max-width: 575.98px) {
    .game-offers__card[b-kr6geb4qw5] {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: .5rem;
    }

    .game-offers__body[b-kr6geb4qw5] {
        display: contents;
    }

    .game-offers__desc[b-kr6geb4qw5] {
        display: none;
    }

    .game-offers__logo-col[b-kr6geb4qw5] {
        align-self: flex-start;
    }

    .game-offers__logo-wrap[b-kr6geb4qw5] {
        border-radius: 20px;
        width: 120px;
        height: 120px;
        box-shadow: none;
    }

    .game-offers__logo-img[b-kr6geb4qw5] {
        border-radius: 20px;
    }

    .game-offers__name[b-kr6geb4qw5] {
        flex: 1 1 0%;
        min-width: 0;
        align-self: center;
        margin: 0;
        text-align: left;
    }

    .game-offers__cta[b-kr6geb4qw5] {
        flex: 1 1 100%;
    }

    .game-offers__terms[b-kr6geb4qw5] {
        flex: 1 1 100%;
    }
}

/*@media (max-width: 767.98px) {
    .game-offers {
        width: 94% !important;
    }
}
*/
/* Same as FeaturedListItem: the 64px logo box in the 576-640px band is too narrow for the ribbon. */
@media (min-width: 576px) and (max-width: 640px) {
    .game-offers__logo-wrap[b-kr6geb4qw5]  .card-ribbon {
        display: none;
    }
}
/* /Components/Custom/GamesList/GamesListRender.razor.rz.scp.css */
/* Layout, spacing and flex come from Bootstrap utilities in the markup - this file only covers
   what utilities can't express: the brand gradients, the auto-fill card grid and the card hover
   choreography. Card visuals intentionally mirror GuidesListRender / TaggedGamesListRender. */

.games-list[b-wfbw9sthi1] {
   /* padding-block: clamp(1.5rem, 4vw, 3rem);*/
}

.games-list__title[b-wfbw9sthi1] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

    .games-list__title[b-wfbw9sthi1]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 5.5rem;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
    }

.games-list__subtitle[b-wfbw9sthi1] {
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
}

.games-list__search[b-wfbw9sthi1] {
    max-width: 480px;
}

.games-list__search-icon[b-wfbw9sthi1] {
    color: rgba(255, 255, 255, 0.45);
    pointer-events: none;
}

.games-list__search-input[b-wfbw9sthi1] {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(185, 115, 247, 0.3);
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.95rem;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.games-list__search-input[b-wfbw9sthi1]::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.games-list__search-input:focus[b-wfbw9sthi1] {
    outline: none;
    border-color: #b973f7;
    background: rgba(255, 255, 255, 0.08);
}

.games-list__empty[b-wfbw9sthi1] {
    color: rgba(255, 255, 255, 0.6);
}

/* Column counts aren't auto-fill: they're computed server-side in GamesListGridColumns from the
   actual game count, so a row is (almost) never left partially filled, and mobile always gets
   at least 2 columns instead of collapsing to 1. Each --games-list-cols-* custom property is set
   inline per instance (and re-set by the search filter for the visible count); the fallback here
   only applies if they're missing. */
.games-list__grid[b-wfbw9sthi1] {
    display: grid;
    grid-template-columns: repeat(var(--games-list-cols-xs, 2), 1fr);
    gap: 1.25rem;
}

/* The search filter (page-widgets.js) hides with the hidden attribute, which loses to both the
   display:grid above and the cards' Bootstrap d-flex (!important) without these. */
.games-list__grid[hidden][b-wfbw9sthi1],
.games-list__card[hidden][b-wfbw9sthi1] {
    display: none !important;
}



@media (min-width: 576px) {
    .games-list__grid[b-wfbw9sthi1] {
        grid-template-columns: repeat(var(--games-list-cols-sm, 2), 1fr);
    }
}

@media (min-width: 768px) {
    .games-list__grid[b-wfbw9sthi1] {
        grid-template-columns: repeat(var(--games-list-cols-md, 3), 1fr);
    }
}

@media (min-width: 992px) {
    .games-list__grid[b-wfbw9sthi1] {
        grid-template-columns: repeat(var(--games-list-cols-lg, 3), 1fr);
    }
}

@media (min-width: 1200px) {
    .games-list__grid[b-wfbw9sthi1] {
        grid-template-columns: repeat(var(--games-list-cols-xl, 3), 1fr);
    }
}

@media (min-width: 1600px) {
    .games-list__grid[b-wfbw9sthi1] {
        grid-template-columns: repeat(var(--games-list-cols-xxl, 3), 1fr);
    }
}

.games-list__card[b-wfbw9sthi1] {
    flex: 0 0 clamp(220px, 72vw, 264px);
    scroll-snap-align: start;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 16px;
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.games-list__card:hover[b-wfbw9sthi1],
.games-list__card:focus-visible[b-wfbw9sthi1] {
    transform: translateY(-4px);
    border-color: #b973f7;
    box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
}

/* Capped so a large source logo can't stretch the card taller than its siblings in the row. */
.games-list__card-logo[b-wfbw9sthi1] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
}

.games-list__card-logo--placeholder[b-wfbw9sthi1] {
    width: 96px;
    height: 96px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 3.4rem;
}

.games-list__card-title[b-wfbw9sthi1] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #ffffff;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.games-list__card-provider[b-wfbw9sthi1] {
    font-size: 0.8rem;
    color: #b973f7;
    font-weight: 600;
    text-decoration: none;
}

.games-list__card-desc[b-wfbw9sthi1] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* RatingStars' root is d-inline-flex with no justify-content of its own; the flex-column card
   content stretches it to full width by default, so without this its stars pack to the left. */
.games-list__card[b-wfbw9sthi1]  .rating-stars {
    justify-content: center;
}

.games-list__badge[b-wfbw9sthi1] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
}

.games-list__badge--volatility-low[b-wfbw9sthi1] {
    color: #86efac;
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(74, 222, 128, 0.35);
}

.games-list__badge--volatility-medium[b-wfbw9sthi1] {
    color: #fcd34d;
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(251, 191, 36, 0.35);
}

.games-list__badge--volatility-high[b-wfbw9sthi1] {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(248, 113, 113, 0.35);
}

.games-list__card-cta[b-wfbw9sthi1] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border-radius: 999px;
    transition: transform 0.18s ease, background 0.18s ease;
    text-decoration: none;
}

.games-list__card-cta-arrow[b-wfbw9sthi1] {
    transition: transform 0.18s ease;
}

.games-list__card:hover .games-list__card-cta[b-wfbw9sthi1],
.games-list__card:focus-visible .games-list__card-cta[b-wfbw9sthi1] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.games-list__card:hover .games-list__card-cta-arrow[b-wfbw9sthi1],
.games-list__card:focus-visible .games-list__card-cta-arrow[b-wfbw9sthi1] {
    transform: translateX(3px);
}

@media (max-width: 576px) {

    .games-list__card[b-wfbw9sthi1] {
        padding: .25rem !important;
    }
    .games-list__card-desc[b-wfbw9sthi1] {
        display: none;
    }

    .games-list__grid[b-wfbw9sthi1] {
        gap: 0.75rem;
    }

    .games-list__card-title[b-wfbw9sthi1] {
        min-height: 2.6em;
    }
}
/* /Components/Custom/GameStats/GameStatsRender.razor.rz.scp.css */
.game-stats[b-agv4ic54ds] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.game-stats__inner[b-agv4ic54ds] {
    width: 100%;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 18px;
    padding: clamp(1.25rem, 3vw, 2rem);
    box-shadow: 0 20px 45px -20px rgba(2, 0, 36, 0.6);
}

.game-stats__header[b-agv4ic54ds] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.game-stats__header--centered[b-agv4ic54ds] {
    justify-content: center;
    text-align: center;
}

.game-stats__header--centered .game-stats__heading[b-agv4ic54ds] {
    align-items: center;
}

.game-stats__logo[b-agv4ic54ds] {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    padding: 6px;
    flex: none;
}

.game-stats__heading[b-agv4ic54ds] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.game-stats__title[b-agv4ic54ds] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.3rem, 2.6vw, 1.7rem);
    color: #ffffff;
    margin: 0;
}

.game-stats__provider[b-agv4ic54ds] {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
}

.game-stats__grid[b-agv4ic54ds] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.game-stats__tile--full[b-agv4ic54ds] {
    grid-column: 1 / -1;
}

.game-stats__tile[b-agv4ic54ds] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    /* Grid items default to a content-based minimum width that ignores the track's
       minmax(0, 1fr) - without this, a long unbreakable value pushes the tile (and the
       text inside it) past its column instead of wrapping. */
    min-width: 0;
    text-align: center;
}

.game-stats__label[b-agv4ic54ds] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b973f7;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.game-stats__value[b-agv4ic54ds] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #ffffff;
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 420px) {
    .game-stats__grid[b-agv4ic54ds] {
        grid-template-columns: 1fr;
    }

    .game-stats__tile--full[b-agv4ic54ds] {
        grid-column: 1;
    }
}

/* When Volatility (N/A) is omitted, reflow the remaining 5 tiles on desktop:
   Max Multiplier full-width on row 1, then RTP/Dual Bet, then Min/Max Stake.
   Scoped above the mobile breakpoint so the single-column stack keeps natural order. */
@media (min-width: 421px) {
    .game-stats__grid--no-volatility .game-stats__tile--max-multiplier[b-agv4ic54ds] {
        order: 1;
    }

    .game-stats__grid--no-volatility .game-stats__tile--rtp[b-agv4ic54ds] {
        order: 2;
    }

    .game-stats__grid--no-volatility .game-stats__tile--dual-bet[b-agv4ic54ds] {
        order: 3;
    }

    .game-stats__grid--no-volatility .game-stats__tile--min-stake[b-agv4ic54ds] {
        order: 4;
    }

    .game-stats__grid--no-volatility .game-stats__tile--max-stake[b-agv4ic54ds] {
        order: 5;
    }
}
/* /Components/Custom/GameTitle/GameTitleRender.razor.rz.scp.css */
.game-title[b-qw27clg3om] {
    display: flex;
    height: 100%;
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.game-title__inner[b-qw27clg3om] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 18px;
    padding: clamp(1.75rem, 3.5vw, 2.5rem);
    box-shadow: 0 20px 45px -20px rgba(2, 0, 36, 0.6);
}

.game-title__logo-wrap[b-qw27clg3om] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 0px;
    align-items: center;
    justify-content: center;
}

.game-title__logo[b-qw27clg3om] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
    max-width: 330px;
    max-height: 330px;
}

.game-title__body[b-qw27clg3om] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 0;
}

.game-title__eyebrow[b-qw27clg3om] {
    display: inline-block;
    align-self: flex-start;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b973f7;
    background: rgba(96, 0, 255, 0.16);
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 999px;
    padding: 0.3rem 0.85rem;
    text-decoration: none;
}

.game-title__name[b-qw27clg3om] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0;
    overflow-wrap: anywhere;
}

.game-title__desc[b-qw27clg3om] {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    max-width: 60ch;
}

@media (max-width: 1200px) {
    .game-title__inner[b-qw27clg3om] {
        flex-direction: column;
        text-align: center;
        padding: 1.75rem;
    }

    .game-title__body[b-qw27clg3om] {
        align-items: center;
    }
}

@media (max-width: 575.98px) {
    .game-title__logo[b-qw27clg3om] {
        max-width: 100%;
    }

    .game-title__inner[b-qw27clg3om] {
        text-align: left;
    }

    .game-title__body[b-qw27clg3om] {
        align-items: flex-start;
    }
}
/* /Components/Custom/GuidesList/GuidesListRender.razor.rz.scp.css */
/* Layout, spacing and flex come from Bootstrap utilities in the markup - this file only covers
   what utilities can't express: the brand gradients, the computed-column-count card grid, the
   card hover choreography and the pager. Card visuals intentionally mirror GamesListRender /
   PublisherListRender so listings read as one family. */

.guides-list[b-xcoblb3glv] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.guides-list__title[b-xcoblb3glv] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

    .guides-list__title[b-xcoblb3glv]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 5.5rem;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
    }

.guides-list__subtitle[b-xcoblb3glv] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
}

.guides-list__empty[b-xcoblb3glv] {
    color: rgba(255, 255, 255, 0.6);
}

/* Column counts aren't auto-fill: they're computed server-side in GridColumnsStyle() from the
   actual guide count, so a row is (almost) never left partially filled, and mobile always gets
   at least 2 columns instead of collapsing to 1. Each --guides-list-cols-* custom property is set
   inline per instance; the fallback here only applies before the first render supplies them. */
.guides-list__grid[b-xcoblb3glv] {
    display: grid;
    grid-template-columns: repeat(var(--guides-list-cols-xs, 2), 1fr);
    gap: 1.25rem;
}

@media (min-width: 576px) {
    .guides-list__grid[b-xcoblb3glv] {
        grid-template-columns: repeat(var(--guides-list-cols-sm, 2), 1fr);
    }
}

@media (min-width: 768px) {
    .guides-list__grid[b-xcoblb3glv] {
        grid-template-columns: repeat(var(--guides-list-cols-md, 3), 1fr);
    }
}

@media (min-width: 992px) {
    .guides-list__grid[b-xcoblb3glv] {
        grid-template-columns: repeat(var(--guides-list-cols-lg, 3), 1fr);
    }
}

@media (min-width: 1200px) {
    .guides-list__grid[b-xcoblb3glv] {
        grid-template-columns: repeat(var(--guides-list-cols-xl, 3), 1fr);
    }
}

.guides-list__card[b-xcoblb3glv] {
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 16px;
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.guides-list__card:hover[b-xcoblb3glv],
.guides-list__card:focus-within[b-xcoblb3glv] {
    transform: translateY(-4px);
    border-color: #b973f7;
    box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
}

/* Capped so a large source logo can't stretch the card taller than its siblings in the row. */
.guides-list__card-logo[b-xcoblb3glv] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
}

.guides-list__card-logo--placeholder[b-xcoblb3glv] {
    width: 96px;
    height: 96px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 3.4rem;
}

.guides-list__card-title[b-xcoblb3glv] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #ffffff;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.guides-list__card-desc[b-xcoblb3glv] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.guides-list__card-cta[b-xcoblb3glv] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border-radius: 999px;
    transition: transform 0.18s ease, background 0.18s ease;
    text-decoration: none;
}

.guides-list__card-cta-arrow[b-xcoblb3glv] {
    transition: transform 0.18s ease;
}

.guides-list__card:hover .guides-list__card-cta[b-xcoblb3glv],
.guides-list__card:focus-within .guides-list__card-cta[b-xcoblb3glv] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.guides-list__card:hover .guides-list__card-cta-arrow[b-xcoblb3glv],
.guides-list__card:focus-within .guides-list__card-cta-arrow[b-xcoblb3glv] {
    transform: translateX(3px);
}

/* Numbered pager, bigwinboard.com/news-style: prev/next arrows flank a windowed run of page
   numbers (see PagerItems() - first, last, current +/-1, "..." for any gap). */
.guides-list__pager[b-xcoblb3glv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 2rem;
}

.guides-list__pager-page[b-xcoblb3glv],
.guides-list__pager-arrow[b-xcoblb3glv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.7rem;
    border-radius: 999px;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.guides-list__pager-page:hover[b-xcoblb3glv],
.guides-list__pager-arrow:hover[b-xcoblb3glv] {
    color: #ffffff;
    border-color: #b973f7;
    background: rgba(185, 115, 247, 0.16);
}

.guides-list__pager-page--active[b-xcoblb3glv] {
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border-color: transparent;
}

.guides-list__pager-page--active:hover[b-xcoblb3glv] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.guides-list__pager-arrow--disabled[b-xcoblb3glv] {
    color: rgba(255, 255, 255, 0.3);
    background: transparent;
    border-color: rgba(255, 255, 255, 0.06);
    pointer-events: none;
}

.guides-list__pager-ellipsis[b-xcoblb3glv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 2.25rem;
    color: rgba(255, 255, 255, 0.4);
}



/* The page-template wrapper (StaticPageView/EntityPageView) is w-75, only widened to 90% at
   <=576px - too narrow on phones/small tablets in between. Same escape every other embeddable
   component uses (see HeroBannerRender, RichTextRender, etc.) - this was in the original
   GuidesList CSS and got dropped when the card system was rebuilt to mirror GamesList, which
   never needed it because it isn't normally dropped straight into a page-template. */
/*@media (max-width: 767.98px) {
    .guides-list {
        width: 94% !important;
    }
}
*/
@media (max-width: 576px) {
    .guides-list__card[b-xcoblb3glv] {
        padding: .25rem !important;
    }

    .guides-list__card-desc[b-xcoblb3glv] {
        display: none;
    }

    .guides-list__grid[b-xcoblb3glv] {
        gap: 0.75rem;
    }

    .guides-list__card-title[b-xcoblb3glv] {
        min-height: 2.6em;
    }

    .guides-list__pager[b-xcoblb3glv] {
        gap: 0.3rem;
        margin-top: 1.5rem;
    }

    .guides-list__pager-page[b-xcoblb3glv],
    .guides-list__pager-arrow[b-xcoblb3glv] {
        min-width: 2rem;
        height: 2rem;
        padding: 0 0.5rem;
        font-size: 0.8rem;
    }
}
/* /Components/Custom/HeroBanner/HeroBannerRender.razor.rz.scp.css */
/* The button and pill treatments, which don't map onto Bootstrap's .btn variants, plus the
   alignment switch. The button gradients and the pill shape are deliberately the same values as
   CtaButtonRender and TaggedGamesListRender use, so a hero CTA and a mid-page CTA look related. */

.hero-banner[b-ylqo49pahf] {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: center;
    background-color: #020024;
    /* Full-bleed out of the page's w-75 wrapper - see StaticPageView. cqw (MainLayout's .app),
       not vw: 100vw includes the vertical scrollbar and overflows the page sideways. */
    width: 100cqw;
    margin-left: calc(50% - 50cqw);
    margin-right: calc(50% - 50cqw);
    margin-bottom: 1.5rem;
}

.hero-banner__bg-image[b-ylqo49pahf] {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero-banner__overlay[b-ylqo49pahf] {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image: linear-gradient(180deg, rgba(2, 0, 36, 0.55) 0%, rgba(24, 5, 82, 0.72) 55%, rgba(50, 0, 110, 0.94) 100%);
}

.hero-banner__inner[b-ylqo49pahf] {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-block: clamp(3rem, 8vw, 6rem);
}

.hero-banner__content[b-ylqo49pahf] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.hero-banner--center .hero-banner__content[b-ylqo49pahf] {
    align-items: center;
    text-align: center;
}

.hero-banner--left .hero-banner__content[b-ylqo49pahf] {
    align-items: flex-start;
    text-align: left;
}

.hero-banner__heading[b-ylqo49pahf] {
    font-family: 'Sora', sans-serif;
    font-weight: 800;
    letter-spacing: -0.01em;
    font-size: clamp(2.6rem, 6vw, 4.6rem);
    line-height: 1.1;
    margin: 0;
    color: #fff;
    text-shadow: 0 0 4px rgba(216, 180, 254, 0.55), 0 0 12px rgba(185, 115, 247, 0.55), 0 0 28px rgba(96, 0, 255, 0.4);
}

.hero-banner__subheading[b-ylqo49pahf] {
    font-size: clamp(0.95rem, 1.4vw, 1.1rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    max-width: 70ch;
}

/* Buttons */

.hero-banner__actions[b-ylqo49pahf] {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
}

.hero-banner--center .hero-banner__actions[b-ylqo49pahf] {
    justify-content: center;
}

.hero-banner__btn[b-ylqo49pahf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    padding: 0.85rem 2rem;
    border-radius: 999px;
    border: 1px solid transparent;
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

    .hero-banner__btn:hover[b-ylqo49pahf],
    .hero-banner__btn:focus-visible[b-ylqo49pahf] {
        transform: translateY(-2px);
    }

.hero-banner__btn--primary[b-ylqo49pahf] {
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    box-shadow: 0 18px 40px -20px rgba(185, 115, 247, 0.8);
}

    .hero-banner__btn--primary:hover[b-ylqo49pahf],
    .hero-banner__btn--primary:focus-visible[b-ylqo49pahf] {
        background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
    }

.hero-banner__btn--secondary[b-ylqo49pahf] {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(185, 115, 247, 0.35);
}

    .hero-banner__btn--secondary:hover[b-ylqo49pahf],
    .hero-banner__btn--secondary:focus-visible[b-ylqo49pahf] {
        background: rgba(255, 255, 255, 0.14);
        border-color: #b973f7;
    }

/* Bubble tags */

.hero-banner__tags[b-ylqo49pahf] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.hero-banner--center .hero-banner__tags[b-ylqo49pahf] {
    justify-content: center;
}

.hero-banner__tag[b-ylqo49pahf] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .82rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    padding: .5rem 1rem;
}

/* Icons - sized in em so they track whichever of the two they're sitting in. */

.hero-banner__icon[b-ylqo49pahf] {
    font-size: 1.15em;
    line-height: 1;
    flex-shrink: 0;
}

.hero-banner__icon-img[b-ylqo49pahf] {
    width: 1.35em;
    height: 1.35em;
    object-fit: contain;
    flex-shrink: 0;
}

/* Narrow screens: the page wrapper's w-75 leaves too little room (the same escape the other
   components use), and the pills become a fixed 3-up row with wrapping labels rather than three
   pills of wildly different widths flowing onto three lines. minmax(0, 1fr) rather than 1fr so a
   long label can't widen its own column - three even thirds is the point of the grid. */
@media (max-width: 767.98px) {
   /* .hero-banner__inner {
        width: 94% !important;
    }*/

    .hero-banner__tags[b-ylqo49pahf] {
        /*display: grid;*/
        /*grid-template-columns: repeat(3, minmax(0, 1fr));*/
        align-self: stretch;
        gap: .5rem;
    }

    .hero-banner__tag[b-ylqo49pahf] {
        justify-content: center;
        text-align: left;
        font-size: .74rem;
        padding: .5rem .6rem;
        gap: .35rem;
        overflow-wrap: break-word;
    }
}

/* Phones: side-by-side buttons stop fitting, so they stack full width. */
@media (max-width: 575.98px) {
    .hero-banner__heading[b-ylqo49pahf] {
        font-size: 2rem;
    }
    .hero-banner__actions[b-ylqo49pahf] {
        flex-direction: column;
        align-self: stretch;
        width: 100%;
        gap: .75rem;
    }

    .hero-banner__btn[b-ylqo49pahf] {
        width: 100%;
        padding-inline: 1.25rem;
    }
}
/* /Components/Custom/Hero/HeroSection.razor.rz.scp.css */
.crash-hero[b-mpwpr10xkd] {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(420px, 70vh, 720px);
    display: flex;
    align-items: center;
    background-color: #020024;
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;

    /* Full-bleed - cqw (MainLayout's .app), not vw, which includes the vertical scrollbar. */
    width: 100cqw;
    margin-left: calc(50% - 50cqw);
    margin-right: calc(50% - 50cqw);
}

.crash-hero__inner[b-mpwpr10xkd] {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-block: clamp(3rem, 8vw, 6rem);
}

.crash-hero__content[b-mpwpr10xkd] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.crash-hero__eyebrow[b-mpwpr10xkd] {
    display: inline-block;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b973f7;
    background: rgba(96, 0, 255, 0.16);
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 999px;
    padding: 0.35rem 0.9rem;
    margin-bottom: 1.1rem;
}

.crash-hero__heading[b-mpwpr10xkd] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(2.1rem, 5vw, 3.4rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1.1rem;
}

.crash-hero__description[b-mpwpr10xkd] {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
    margin: 0 0 1rem;
    max-width: 100ch;
}

.crash-hero__description:last-of-type[b-mpwpr10xkd] {
    margin-bottom: 1.9rem;
}

.crash-hero__cta[b-mpwpr10xkd] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    color: #ffffff;
    text-decoration: none;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border: 1px solid rgba(185, 115, 247, 0.5);
    border-radius: 999px;
    padding: 0.85rem 1.6rem;
    box-shadow: 0 10px 30px -8px rgba(96, 0, 255, 0.65);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.crash-hero__cta:hover[b-mpwpr10xkd],
.crash-hero__cta:focus-visible[b-mpwpr10xkd] {
    color: #ffffff;
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
    box-shadow: 0 14px 34px -6px rgba(185, 115, 247, 0.6);
    transform: translateY(-1px);
}

.crash-hero__cta:focus-visible[b-mpwpr10xkd] {
    outline: 2px solid #b973f7;
    outline-offset: 3px;
}

.crash-hero__cta-arrow[b-mpwpr10xkd] {
    display: inline-block;
    transition: transform 0.18s ease;
}

.crash-hero__cta:hover .crash-hero__cta-arrow[b-mpwpr10xkd],
.crash-hero__cta:focus-visible .crash-hero__cta-arrow[b-mpwpr10xkd] {
    transform: translateX(3px);
}

/* Signature element: the rising-then-crashing multiplier line */
.crash-hero__curve[b-mpwpr10xkd] {
    position: absolute;
    z-index: 1;
    top: 6%;
    right: -4%;
    width: min(52vw, 640px);
    height: auto;
    opacity: 0.9;
    pointer-events: none;
}

.crash-hero__curve-track[b-mpwpr10xkd] {
    fill: none;
    stroke: rgba(255, 255, 255, 0.08);
    stroke-width: 2;
}

.crash-hero__curve-line[b-mpwpr10xkd] {
    fill: none;
    stroke: #b973f7;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-dasharray: 620;
    stroke-dashoffset: 620;
    filter: drop-shadow(0 0 6px rgba(185, 115, 247, 0.55));
    animation: crash-hero-draw-b-mpwpr10xkd 2.6s ease-out forwards, crash-hero-flicker-b-mpwpr10xkd 3.6s ease-in-out 2.6s infinite;
}

.crash-hero__crash-point[b-mpwpr10xkd] {
    fill: #e50000;
    filter: drop-shadow(0 0 8px rgba(229, 0, 0, 0.85));
    opacity: 0;
    animation: crash-hero-point-b-mpwpr10xkd 2.6s ease-out forwards, crash-hero-pulse-b-mpwpr10xkd 1.8s ease-in-out 2.6s infinite;
}

@keyframes crash-hero-draw-b-mpwpr10xkd {
    to { stroke-dashoffset: 0; }
}

@keyframes crash-hero-point-b-mpwpr10xkd {
    0%, 85% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes crash-hero-pulse-b-mpwpr10xkd {
    0%, 100% { r: 6; opacity: 1; }
    50% { r: 8.5; opacity: 0.55; }
}

@keyframes crash-hero-flicker-b-mpwpr10xkd {
    0%, 92%, 100% { opacity: 1; }
    95% { opacity: 0.55; }
}

/* Tablet */
@media (max-width: 991.98px) {
    .crash-hero__curve[b-mpwpr10xkd] {
        width: 60vw;
        opacity: 0.5;
    }
}

/* Mobile: curve becomes a quiet watermark behind the copy */
@media (max-width: 575.98px) {
    .crash-hero[b-mpwpr10xkd] {
        min-height: auto;
        padding-block: 2.5rem 0;
    }

    .crash-hero__curve[b-mpwpr10xkd] {
        top: 2%;
        right: -18%;
        width: 90vw;
        opacity: 0.28;
    }

    .crash-hero__content[b-mpwpr10xkd] {
        max-width: 100%;
    }

    .crash-hero__cta[b-mpwpr10xkd] {
        width: 100%;
        justify-content: center;
    }
}

.crash-hero__expand[b-mpwpr10xkd] {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .45s ease, opacity .35s ease;
}

    .crash-hero__toggle:checked ~ .crash-hero__expand[b-mpwpr10xkd] {
        max-height: 500px;
        opacity: 1;
    }

/* Desktop */
@media (min-width: 768px) {
    .crash-hero__expand[b-mpwpr10xkd] {
        max-height: none;
        opacity: 1;
        overflow: visible;
    }

    /* display:none only here, where the control isn't shown - below this the checkbox is merely
       visually-hidden so it stays focusable for keyboard visitors. */
    .crash-hero__toggle[b-mpwpr10xkd],
    .crash-hero__read-more[b-mpwpr10xkd] {
        display: none;
    }
}

.crash-hero__read-more[b-mpwpr10xkd] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.5rem;
    padding: 0;
    background: none;
    border: 0;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .2s ease;
}

    .crash-hero__read-more:hover[b-mpwpr10xkd] {
        opacity: .8;
    }

    .crash-hero__read-more[b-mpwpr10xkd]::after {
        content: "▾";
        transition: transform .3s ease;
    }

.crash-hero__read-more-close[b-mpwpr10xkd] {
    display: none;
}

.crash-hero__toggle:checked ~ div .crash-hero__read-more-open[b-mpwpr10xkd] {
    display: none;
}

.crash-hero__toggle:checked ~ div .crash-hero__read-more-close[b-mpwpr10xkd] {
    display: inline;
}

.crash-hero__toggle:checked ~ div .crash-hero__read-more[b-mpwpr10xkd]::after {
    transform: rotate(180deg);
}

.crash-hero__toggle:focus-visible ~ div .crash-hero__read-more[b-mpwpr10xkd] {
    outline: 2px solid #b973f7;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .crash-hero__curve-line[b-mpwpr10xkd],
    .crash-hero__crash-point[b-mpwpr10xkd] {
        animation: none;
        stroke-dashoffset: 0;
        opacity: 1;
    }
}
/* /Components/Custom/ImageBlock/ImageBlockRender.razor.rz.scp.css */
/* Layout and spacing come from Bootstrap utilities in the markup - this file covers the
   alignment variants, the framing treatment and the caption styling. */

.image-block[b-ezaz19jjjy] {
    width: 100%;
    padding-block: clamp(0.75rem, 2vw, 1.5rem);
}

/* mx-auto in the markup centres by default; the side variants pull the figure back. */
.image-block--left[b-ezaz19jjjy] {
    margin-left: 0 !important;
}

.image-block--right[b-ezaz19jjjy] {
    margin-right: 0 !important;
}

.image-block__img[b-ezaz19jjjy] {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
    border: 1px solid rgba(185, 115, 247, 0.25);
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
}

.image-block__caption[b-ezaz19jjjy] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.65);
}

.image-block--center .image-block__caption[b-ezaz19jjjy] {
    text-align: center;
}

.image-block--right .image-block__caption[b-ezaz19jjjy] {
    text-align: right;
}

.image-block a[b-ezaz19jjjy] {
    display: block;
    transition: transform 0.18s ease;
}

.image-block a:hover[b-ezaz19jjjy],
.image-block a:focus-visible[b-ezaz19jjjy] {
    transform: translateY(-3px);
}
/* /Components/Custom/ProsAndCons/ProsAndConsRender.razor.rz.scp.css */
/* The two-column split uses Bootstrap's grid in the markup - this file covers the panel
   treatments, which differ per side. */

.pros-cons__title[b-stequ1gskg] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.pros-cons__panel[b-stequ1gskg] {
    border-radius: 16px;
    border: 1px solid;
    background: rgba(255, 255, 255, 0.04);
}

.pros-cons__panel--pro[b-stequ1gskg] {
    border-color: rgba(74, 222, 128, 0.35);
}

.pros-cons__panel--con[b-stequ1gskg] {
    border-color: rgba(248, 113, 113, 0.35);
}

.pros-cons__heading[b-stequ1gskg] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: #ffffff;
}

.pros-cons__panel--pro .pros-cons__heading i[b-stequ1gskg] {
    color: #86efac;
}

.pros-cons__panel--con .pros-cons__heading i[b-stequ1gskg] {
    color: #fca5a5;
}

.pros-cons__list[b-stequ1gskg] {
    list-style: none;
    padding-left: 0;
}

.pros-cons__item[b-stequ1gskg] {
    font-size: 0.95rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.8);
}

.pros-cons__bullet[b-stequ1gskg] {
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.pros-cons__panel--pro .pros-cons__bullet[b-stequ1gskg] {
    color: #86efac;
}

.pros-cons__panel--con .pros-cons__bullet[b-stequ1gskg] {
    color: #fca5a5;
}

/* /Components/Custom/PublisherGamesList/PublisherGamesListRender.razor.rz.scp.css */
/* Card visuals mirror GuidesListRender / RelatedContentRender so listings read as one family. */

.publisher-games__title[b-tgf96x5fd2] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.publisher-games__subtitle[b-tgf96x5fd2] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.65);
}

/* Column counts aren't auto-fill: they're computed server-side in GridColumnsStyle() from the
   actual game count, so a row is (almost) never left partially filled, and mobile always gets
   at least 2 columns instead of collapsing to 1. Each --publisher-games-cols-* custom property is
   set inline per instance; the fallback here only applies before the first render supplies them. */
.publisher-games__grid[b-tgf96x5fd2] {
    display: grid;
    grid-template-columns: repeat(var(--publisher-games-cols-xs, 2), 1fr);
    gap: 1rem;
}

@media (min-width: 576px) {
    .publisher-games__grid[b-tgf96x5fd2] {
        grid-template-columns: repeat(var(--publisher-games-cols-sm, 2), 1fr);
    }
}

@media (min-width: 768px) {
    .publisher-games__grid[b-tgf96x5fd2] {
        grid-template-columns: repeat(var(--publisher-games-cols-md, 3), 1fr);
    }
}

@media (min-width: 992px) {
    .publisher-games__grid[b-tgf96x5fd2] {
        grid-template-columns: repeat(var(--publisher-games-cols-lg, 4), 1fr);
    }
}

@media (min-width: 1200px) {
    .publisher-games__grid[b-tgf96x5fd2] {
        grid-template-columns: repeat(var(--publisher-games-cols-xl, 4), 1fr);
    }
}

.publisher-games__card[b-tgf96x5fd2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.25rem 1rem;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 14px;
    transition: transform 0.18s ease, border-color 0.18s ease;
}

.publisher-games__card:hover[b-tgf96x5fd2] {
    transform: translateY(-4px);
    border-color: #b973f7;
}

.publisher-games__card-logo[b-tgf96x5fd2] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
}

.publisher-games__card-logo--placeholder[b-tgf96x5fd2] {
    color: rgba(255, 255, 255, 0.3);
    font-size: 1.8rem;
}

/* flex: 1 pushes the CTA to the bottom so buttons line up across cards of differing height. */
.publisher-games__card-body[b-tgf96x5fd2] {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
}

/* Matches GamesListRender's PLAY NOW pill; the card itself is no longer a link. */
.publisher-games__card-cta[b-tgf96x5fd2] {
    align-self: stretch;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border-radius: 999px;
    transition: background 0.18s ease;
    text-decoration: none;
}

.publisher-games__card:hover .publisher-games__card-cta[b-tgf96x5fd2],
.publisher-games__card-cta:focus-visible[b-tgf96x5fd2] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.publisher-games__card-cta:focus-visible[b-tgf96x5fd2] {
    outline: 2px solid #b973f7;
    outline-offset: 2px;
}

.publisher-games__card-title[b-tgf96x5fd2] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
    margin-top: 10px;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* RatingStars' root is d-inline-flex with no justify-content of its own; the flex-column card
   content stretches it to full width by default, so without this its stars pack to the left. */
.publisher-games__card[b-tgf96x5fd2]  .rating-stars {
    justify-content: center;
}

.publisher-games__badge[b-tgf96x5fd2] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    white-space: nowrap;
}
/* /Components/Custom/PublisherList/PublisherListRender.razor.rz.scp.css */
/* Layout, spacing and flex come from Bootstrap utilities in the markup - this file only covers
   what utilities can't express: the brand gradients, the auto-fill card grid and the card hover
   choreography. Card visuals intentionally mirror GuidesListRender / TaggedGamesListRender. */

.games-list[b-ujyi6dyle2] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.games-list__title[b-ujyi6dyle2] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

    .games-list__title[b-ujyi6dyle2]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 5.5rem;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
    }

.games-list__subtitle[b-ujyi6dyle2] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, .8);
}

.games-list__search[b-ujyi6dyle2] {
    max-width: 480px;
}

.games-list__search-icon[b-ujyi6dyle2] {
    color: rgba(255, 255, 255, 0.45);
    pointer-events: none;
}

.games-list__search-input[b-ujyi6dyle2] {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(185, 115, 247, 0.3);
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.95rem;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.games-list__search-input[b-ujyi6dyle2]::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.games-list__search-input:focus[b-ujyi6dyle2] {
    outline: none;
    border-color: #b973f7;
    background: rgba(255, 255, 255, 0.08);
}

.games-list__empty[b-ujyi6dyle2] {
    color: rgba(255, 255, 255, 0.6);
}

/* The search filter (page-widgets.js) hides with the hidden attribute, which loses to both the
   grid's display:grid and the cards' Bootstrap d-flex (!important) without this. */
.games-list__grid[hidden][b-ujyi6dyle2],
.games-list__card[hidden][b-ujyi6dyle2] {
    display: none !important;
}

/* Column counts aren't auto-fill: they're computed server-side in GamesListGridColumns from the
   actual publisher count, so a row is (almost) never left partially filled, and mobile always gets
   at least 2 columns instead of collapsing to 1. Each --games-list-cols-* custom property is set
   inline per instance (and re-set by the search filter for the visible count); the fallback here
   only applies if they're missing. */
.games-list__grid[b-ujyi6dyle2] {
    display: grid;
    grid-template-columns: repeat(var(--games-list-cols-xs, 2), 1fr);
    gap: 1.25rem;
}

@media (min-width: 576px) {
    .games-list__grid[b-ujyi6dyle2] {
        grid-template-columns: repeat(var(--games-list-cols-sm, 2), 1fr);
    }
}

@media (min-width: 768px) {
    .games-list__grid[b-ujyi6dyle2] {
        grid-template-columns: repeat(var(--games-list-cols-md, 3), 1fr);
    }
}

@media (min-width: 992px) {
    .games-list__grid[b-ujyi6dyle2] {
        grid-template-columns: repeat(var(--games-list-cols-lg, 3), 1fr);
    }
}

@media (min-width: 1200px) {
    .games-list__grid[b-ujyi6dyle2] {
        grid-template-columns: repeat(var(--games-list-cols-xl, 3), 1fr);
    }
}

@media (min-width: 1600px) {
    .games-list__grid[b-ujyi6dyle2] {
        grid-template-columns: repeat(var(--games-list-cols-xxl, 3), 1fr);
    }
}

.games-list__card[b-ujyi6dyle2] {
    flex: 0 0 clamp(220px, 72vw, 264px);
    scroll-snap-align: start;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 16px;
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.games-list__card:hover[b-ujyi6dyle2],
.games-list__card:focus-visible[b-ujyi6dyle2] {
    transform: translateY(-4px);
    border-color: #b973f7;
    box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
}

/* Capped so a large source logo can't stretch the card taller than its siblings in the row. */
.games-list__card-logo[b-ujyi6dyle2] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
}

.games-list__card-logo--placeholder[b-ujyi6dyle2] {
    width: 96px;
    height: 96px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 3.4rem;
}

.games-list__card-title[b-ujyi6dyle2] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #ffffff;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.games-list__card-provider[b-ujyi6dyle2] {
    font-size: 0.8rem;
    color: #b973f7;
    font-weight: 600;
}

.games-list__card-desc[b-ujyi6dyle2] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.games-list__badge[b-ujyi6dyle2] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
}

.games-list__badge--volatility-low[b-ujyi6dyle2] {
    color: #86efac;
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(74, 222, 128, 0.35);
}

.games-list__badge--volatility-medium[b-ujyi6dyle2] {
    color: #fcd34d;
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(251, 191, 36, 0.35);
}

.games-list__badge--volatility-high[b-ujyi6dyle2] {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(248, 113, 113, 0.35);
}

.games-list__card-cta[b-ujyi6dyle2] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border-radius: 999px;
    transition: transform 0.18s ease, background 0.18s ease;
}

.games-list__card-cta-arrow[b-ujyi6dyle2] {
    transition: transform 0.18s ease;
}

.games-list__card:hover .games-list__card-cta[b-ujyi6dyle2],
.games-list__card:focus-visible .games-list__card-cta[b-ujyi6dyle2] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.games-list__card:hover .games-list__card-cta-arrow[b-ujyi6dyle2],
.games-list__card:focus-visible .games-list__card-cta-arrow[b-ujyi6dyle2] {
    transform: translateX(3px);
}

@media (max-width: 576px) {

    .games-list__card[b-ujyi6dyle2] {
        padding: .25rem !important;
    }
    .games-list__card-desc[b-ujyi6dyle2] {
        display: none;
    }

    .games-list__grid[b-ujyi6dyle2] {
        gap: 0.75rem;
    }

    .games-list__card-title[b-ujyi6dyle2] {
        min-height: 2.6em;
    }
}
/* /Components/Custom/PublisherStats/PublisherStatsRender.razor.rz.scp.css */
/* Mirrors GameStatsRender.razor.css / CasinoStatsRender.razor.css. */

.publisher-stats[b-xl2fabng53] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.publisher-stats__inner[b-xl2fabng53] {
    width: 100%;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 18px;
    padding: clamp(1.25rem, 3vw, 2rem);
    box-shadow: 0 20px 45px -20px rgba(2, 0, 36, 0.6);
}

.publisher-stats__header[b-xl2fabng53] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.publisher-stats__header--centered[b-xl2fabng53] {
    justify-content: center;
    text-align: center;
}

.publisher-stats__logo[b-xl2fabng53] {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    padding: 6px;
    flex: none;
}

.publisher-stats__title[b-xl2fabng53] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.3rem, 2.6vw, 1.7rem);
    color: #ffffff;
    margin: 0;
}

.publisher-stats__grid[b-xl2fabng53] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.publisher-stats__tile[b-xl2fabng53] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    min-width: 0;
    text-align: center;
}

.publisher-stats__label[b-xl2fabng53] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b973f7;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.publisher-stats__value[b-xl2fabng53] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #ffffff;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.publisher-stats__link[b-xl2fabng53] {
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 420px) {
    .publisher-stats__grid[b-xl2fabng53] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Custom/PublisherTitle/PublisherTitleRender.razor.rz.scp.css */
/* Mirrors GameTitleRender.razor.css / CasinoTitleRender.razor.css. */

.publisher-title[b-x9kauio5de] {
    display: flex;
    height: 100%;
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.publisher-title__inner[b-x9kauio5de] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 18px;
    padding: clamp(1.75rem, 3.5vw, 2.5rem);
    box-shadow: 0 20px 45px -20px rgba(2, 0, 36, 0.6);
}

.publisher-title__logo-wrap[b-x9kauio5de] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 0px;
    align-items: center;
    justify-content: center;
}

.publisher-title__logo[b-x9kauio5de] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
    max-width: 330px;
    max-height: 330px;
}

.publisher-title__body[b-x9kauio5de] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 0;
}

.publisher-title__eyebrow[b-x9kauio5de] {
    display: inline-block;
    align-self: flex-start;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b973f7;
    background: rgba(96, 0, 255, 0.16);
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 999px;
    padding: 0.3rem 0.85rem;
}

.publisher-title__name[b-x9kauio5de] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0;
    overflow-wrap: anywhere;
}

.publisher-title__desc[b-x9kauio5de] {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    max-width: 60ch;
}

@media (max-width: 1200px) {
    .publisher-title__inner[b-x9kauio5de] {
        flex-direction: column;
        text-align: center;
        padding: 1.75rem;
    }

    .publisher-title__body[b-x9kauio5de] {
        align-items: center;
    }
}

@media (max-width: 575.98px) {
    .publisher-title__logo[b-x9kauio5de] {
        max-width: 100%;
    }

    .publisher-title__inner[b-x9kauio5de] {
        text-align: left;
    }

    .publisher-title__body[b-x9kauio5de] {
        align-items: flex-start;
    }
}
/* /Components/Custom/RelatedContent/RelatedContentRender.razor.rz.scp.css */
/* Card visuals mirror GuidesListRender / TaggedGamesListRender so listings read as one family.
   Cards are deliberately more compact - this block sits at the foot of a page, under the
   main content. */

.related[b-y49ptakva4] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.related__title[b-y49ptakva4] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

.related__title[b-y49ptakva4]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5.5rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
}
.related__subtitle[b-y49ptakva4] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.8);
}

.related__grid[b-y49ptakva4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

.related__card[b-y49ptakva4] {
    overflow: hidden;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 14px;
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.related__card:hover[b-y49ptakva4],
.related__card:focus-visible[b-y49ptakva4] {
    transform: translateY(-4px);
    border-color: #b973f7;
    box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
}

.related__card-media[b-y49ptakva4] {
    height: 110px;
    background: rgba(255, 255, 255, 0.04);
}

.related__card-img[b-y49ptakva4] {
    max-width: 80%;
    max-height: 80px;
    object-fit: contain;
}

.related__card-placeholder[b-y49ptakva4] {
    font-size: 2.2rem;
    color: rgba(255, 255, 255, 0.3);
}

.related__card-title[b-y49ptakva4] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
}

.related__card-desc[b-y49ptakva4] {
    font-size: 0.8rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/*@media (max-width: 767.98px) {
    .related {
        width: 94% !important;
    }
}*/
/* /Components/Custom/RichText/RichTextRender.razor.rz.scp.css */
/* Element-level typography for the body lives in wwwroot/css/site.css (the prose.css section),
   shared with every other component that renders admin-authored HTML - the body div carries the
   "prose" class. Only the block's own container styles are left here. */

.rich-text__title[b-knqk3ijmus] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.4vw, 2.4rem);
    color: #ffffff;
    margin-bottom: 1rem;
}

.rich-text__body[b-knqk3ijmus] {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
}

h1[b-knqk3ijmus]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5.5rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
}



/* Read more --------------------------------------------------------------------------------
   Collapsing the tail of a long block on a phone, so a three-paragraph intro doesn't push the
   games list below it off the screen. A hidden checkbox drives it rather than script: the block
   renders statically, and the collapsed text stays in the served HTML either way - only CSS
   hides it, so a crawler still sees the whole body.

   Off everywhere above the phone breakpoint: the control isn't shown and the tail is a plain
   part of the prose. */

.rich-text__toggle[b-knqk3ijmus],
.rich-text__more[b-knqk3ijmus] {
    display: none;
}

.rich-text__more-close[b-knqk3ijmus] {
    display: none;
}

@media (max-width: 599.98px) {
    .rich-text__rest[b-knqk3ijmus] {
        display: none;
    }

    .rich-text__toggle:checked ~ .rich-text__rest[b-knqk3ijmus] {
        display: block;
    }

    /* Pill styling follows the site's accent-pill idiom (see Pages/Search.razor.css) - an
       outline rather than the gradient fill, since this is a disclosure control and not a CTA. */
    .rich-text__more[b-knqk3ijmus] {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        margin-top: 0.25rem;
        padding: 0.4rem 1rem;
        font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        font-size: 0.85rem;
        font-weight: 600;
        color: #b973f7;
        background: rgba(185, 115, 247, 0.14);
        border: 1px solid rgba(185, 115, 247, 0.3);
        border-radius: 999px;
        cursor: pointer;
        user-select: none;
        margin-bottom: 1rem;
    }

    /* The checkbox is visually-hidden rather than hidden, so it still takes focus - this is what
       makes the label show a focus ring for a keyboard visitor. */
    .rich-text__toggle:focus-visible ~ .rich-text__more[b-knqk3ijmus] {
        outline: 2px solid #b973f7;
        outline-offset: 2px;
    }

    .rich-text__toggle:checked ~ .rich-text__more .rich-text__more-open[b-knqk3ijmus] {
        display: none;
    }

    .rich-text__toggle:checked ~ .rich-text__more .rich-text__more-close[b-knqk3ijmus] {
        display: inline;
    }

    .rich-text__more-icon[b-knqk3ijmus] {
        font-size: 0.75rem;
        transition: transform 0.18s ease;
    }

    .rich-text__toggle:checked ~ .rich-text__more .rich-text__more-icon[b-knqk3ijmus] {
        transform: rotate(180deg);
    }
}
/* /Components/Custom/ScoreCard/ScoreCardRender.razor.rz.scp.css */
.score-card[b-3javqw90zz] {
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.16) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.3);
    border-radius: 18px;
    box-shadow: 0 24px 50px -30px rgba(2, 0, 36, 0.7);
}

.score-card__title[b-3javqw90zz] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.score-card__overall[b-3javqw90zz] {
    min-width: 150px;
    border-radius: 16px;
    background: rgba(2, 0, 36, 0.45);
    border: 1px solid rgba(185, 115, 247, 0.25);
}

.score-card__score[b-3javqw90zz] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: clamp(2.6rem, 7vw, 3.4rem);
    line-height: 1;
    background: linear-gradient(135deg, #b973f7 0%, #ffffff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.score-card__out-of[b-3javqw90zz] {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.score-card__criterion-label[b-3javqw90zz] {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
}

.score-card__criterion-score[b-3javqw90zz] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    color: #ffffff;
}

.score-card__bar[b-3javqw90zz] {
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.score-card__bar-fill[b-3javqw90zz] {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #6000ff 0%, #b973f7 100%);
}

/* /Components/Custom/ScreenshotGallery/ScreenshotGalleryRender.razor.rz.scp.css */
/* Layout/spacing come from Bootstrap utilities in the markup - this file covers the brand
   gradient, card visuals and the lightbox chrome. Card visuals intentionally mirror
   GamesListRender / TaggedGamesListRender. */

.screenshot-gallery[b-ts23z0y6yo] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.screenshot-gallery__title[b-ts23z0y6yo] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

.screenshot-gallery__title[b-ts23z0y6yo]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5.5rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
}

.screenshot-gallery__row[b-ts23z0y6yo] {
    justify-content: center;
}

.screenshot-gallery__card[b-ts23z0y6yo] {
    flex: 1 1 0;
    min-width: 0;
    max-width: 420px;
    padding: 0;
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(24, 5, 82, 0.55);
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

    .screenshot-gallery__card:hover[b-ts23z0y6yo],
    .screenshot-gallery__card:focus-visible[b-ts23z0y6yo] {
        transform: translateY(-4px);
        border-color: #b973f7;
        box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
    }

    .screenshot-gallery__card img[b-ts23z0y6yo] {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9; /* matches the 1200x675 screenshot assets */
        object-fit: cover;
    }

    .screenshot-gallery__card--carousel[b-ts23z0y6yo] {
        flex: 0 0 clamp(220px, 60vw, 340px);
        scroll-snap-align: start;
    }

.screenshot-gallery__track[b-ts23z0y6yo] {
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgba(185, 115, 247, 0.5) transparent;
    padding-block: 0.35rem;
}

    .screenshot-gallery__track[b-ts23z0y6yo]::-webkit-scrollbar {
        height: 6px;
    }

    .screenshot-gallery__track[b-ts23z0y6yo]::-webkit-scrollbar-thumb {
        background: rgba(185, 115, 247, 0.5);
        border-radius: 999px;
    }

    .screenshot-gallery__track[b-ts23z0y6yo]::-webkit-scrollbar-track {
        background: transparent;
    }

.screenshot-gallery__nav[b-ts23z0y6yo] {
    width: 40px;
    height: 40px;
    z-index: 2;
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(24, 5, 82, 0.85);
    backdrop-filter: blur(6px);
    box-shadow: 0 10px 30px -12px rgba(2, 0, 36, 0.8);
    transition: background 0.18s ease, border-color 0.18s ease;
}

    .screenshot-gallery__nav:hover[b-ts23z0y6yo],
    .screenshot-gallery__nav:focus-visible[b-ts23z0y6yo] {
        background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
        border-color: #b973f7;
    }

    .screenshot-gallery__nav.start-0[b-ts23z0y6yo] {
        transform: translate(-50%, -50%);
    }

    .screenshot-gallery__nav.end-0[b-ts23z0y6yo] {
        transform: translate(50%, -50%);
    }

/* Lightbox - same hand-rolled full-screen overlay idiom as MediaLibraryModal, styled full-bleed
   and dark rather than as an admin dialog. */
.screenshot-gallery__lightbox[b-ts23z0y6yo] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(5, 0, 20, 0.92);
    padding: 2rem;
}

    /* The display:flex above would otherwise beat the hidden attribute page-widgets.js toggles. */
    .screenshot-gallery__lightbox[hidden][b-ts23z0y6yo] {
        display: none;
    }

.screenshot-gallery__lightbox-image[b-ts23z0y6yo] {
    max-width: min(1100px, 92vw);
    max-height: 86vh;
    border-radius: 12px;
    box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.8);
    cursor: default;
}

.screenshot-gallery__lightbox-close[b-ts23z0y6yo] {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 1.1rem;
}

    .screenshot-gallery__lightbox-close:hover[b-ts23z0y6yo] {
        background: rgba(255, 255, 255, 0.18);
    }

.screenshot-gallery__lightbox-nav[b-ts23z0y6yo] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 1.3rem;
}

    .screenshot-gallery__lightbox-nav:hover[b-ts23z0y6yo] {
        background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
        border-color: #b973f7;
    }

    .screenshot-gallery__lightbox-nav--prev[b-ts23z0y6yo] {
        left: 1.25rem;
    }

    .screenshot-gallery__lightbox-nav--next[b-ts23z0y6yo] {
        right: 1.25rem;
    }

@media (max-width: 767.98px) {
    .screenshot-gallery__lightbox-nav[b-ts23z0y6yo] {
        width: 40px;
        height: 40px;
        font-size: 1.1rem;
    }
}
/* /Components/Custom/SearchBox/SearchBoxRender.razor.rz.scp.css */
.search-box[b-bgyh4x8zb8] {
    padding-block: clamp(1rem, 3vw, 2rem);
}

.search-box__title[b-bgyh4x8zb8] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.search-box__subtitle[b-bgyh4x8zb8] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.65);
}

.search-box__form[b-bgyh4x8zb8] {
    max-width: 620px;
}

.search-box__input[b-bgyh4x8zb8] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(185, 115, 247, 0.3);
    border-radius: 999px;
    padding: 0.75rem 1.25rem;
    color: #ffffff;
}

.search-box__input[b-bgyh4x8zb8]::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.search-box__input:focus[b-bgyh4x8zb8] {
    background: rgba(255, 255, 255, 0.1);
    border-color: #b973f7;
    box-shadow: 0 0 0 0.2rem rgba(185, 115, 247, 0.2);
    color: #ffffff;
}

.search-box__submit[b-bgyh4x8zb8] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    white-space: nowrap;
    color: #ffffff;
    border: 0;
    border-radius: 999px;
    padding: 0.75rem 1.75rem;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    transition: background 0.18s ease, transform 0.18s ease;
}

.search-box__submit:hover[b-bgyh4x8zb8],
.search-box__submit:focus-visible[b-bgyh4x8zb8] {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

@media (max-width: 767.98px) {
    /*.search-box {
        width: 94% !important;
    }*/
}
/* /Components/Custom/SitemapIndex/SitemapIndexRender.razor.rz.scp.css */
/* Spacing and flex come from Bootstrap utilities in the markup - this file covers the brand
   gradients and the auto-fill section grid. Heading treatment intentionally mirrors
   PublisherListRender so a sitemap page doesn't read as a different site. */

.sitemap[b-xuyb6tl7rj] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.sitemap__title[b-xuyb6tl7rj] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

    .sitemap__title[b-xuyb6tl7rj]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 5.5rem;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
    }

.sitemap__subtitle[b-xuyb6tl7rj] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, .8);
}

.sitemap__empty[b-xuyb6tl7rj] {
    color: rgba(255, 255, 255, 0.6);
}

/* auto-fill rather than Bootstrap columns: the section count is however many entity types have a
   published template, which the markup can't know at write time. */
.sitemap__sections[b-xuyb6tl7rj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
    gap: 1.75rem 1.25rem;
    align-items: start;
}

.sitemap__section-heading[b-xuyb6tl7rj] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: #ffffff;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(185, 115, 247, 0.25);
}

.sitemap__count[b-xuyb6tl7rj] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    padding: 0.1rem 0.5rem;
    margin-left: 0.4rem;
    vertical-align: middle;
}

.sitemap__list li + li[b-xuyb6tl7rj] {
    margin-top: 0.35rem;
}

.sitemap__link[b-xuyb6tl7rj] {
    font-size: 0.9rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.18s ease;
}

.sitemap__link:hover[b-xuyb6tl7rj],
.sitemap__link:focus-visible[b-xuyb6tl7rj] {
    color: #b973f7;
}
/* /Components/Custom/SpecTable/SpecTableRender.razor.rz.scp.css */
/* Bootstrap's .table handles the reset and .table-responsive the overflow - this file only
   re-themes it for the dark background, which Bootstrap's defaults fight. */

.spec-table__title[b-94rpw0t1bj] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.spec-table__table[b-94rpw0t1bj] {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(185, 115, 247, 0.25);
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.12) 0%, rgba(24, 5, 82, 0.5) 45%, rgba(32, 30, 52, 0.8) 100%);
    /* Bootstrap sets --bs-table-color/-bg from the light theme; override at the source so
       striping and hover states inherit the right colours too. */
    --bs-table-color: rgba(255, 255, 255, 0.82);
    --bs-table-bg: transparent;
    --bs-table-border-color: rgba(255, 255, 255, 0.1);
}

.spec-table__table :is(th, td)[b-94rpw0t1bj] {
    padding: 0.75rem 1rem;
    vertical-align: top;
    background: transparent;
}

.spec-table__table tr:last-child :is(th, td)[b-94rpw0t1bj] {
    border-bottom: 0;
}

.spec-table__label[b-94rpw0t1bj] {
    width: 40%;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
}

.spec-table__value[b-94rpw0t1bj] {
    color: #ffffff;
    font-weight: 500;
}

.spec-table__caption[b-94rpw0t1bj] {
    caption-side: bottom;
    padding: 0.75rem 1rem 0;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 767.98px) {
    /*.spec-table {
        width: 94% !important;
    }*/

    .spec-table__label[b-94rpw0t1bj] {
        width: 45%;
    }
}
/* /Components/Custom/TaggedGamesList/TaggedGamesListRender.razor.rz.scp.css */
/* Layout, spacing and flex/grid come from Bootstrap utilities in the markup - this file only
   covers what utilities can't express: the brand gradients, the scroll-snap track and the
   card hover choreography. Card visuals intentionally mirror GamesListRender. */

.tagged-games[b-z1amift5ch] {
    margin-top:1rem;
}

.tagged-games__title[b-z1amift5ch] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    position: relative;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

.tagged-games__title[b-z1amift5ch]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5.5rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
}

.tagged-games__subtitle[b-z1amift5ch] {
    color: rgba(255, 255, 255, .8);
}

.tagged-games__empty[b-z1amift5ch] {
    color: rgba(255, 255, 255, 0.6);
}

.tagged-games__track[b-z1amift5ch] {
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgba(185, 115, 247, 0.5) transparent;
    /* Room for the cards' lift-on-hover transform so it isn't clipped by the scroll box. */
    padding-block: 0.35rem;
}

.tagged-games__track[b-z1amift5ch]::-webkit-scrollbar {
    height: 6px;
}

.tagged-games__track[b-z1amift5ch]::-webkit-scrollbar-thumb {
    background: rgba(185, 115, 247, 0.5);
    border-radius: 999px;
}

.tagged-games__track[b-z1amift5ch]::-webkit-scrollbar-track {
    background: transparent;
}

.tagged-games__nav[b-z1amift5ch] {
    width: 40px;
    height: 40px;
    z-index: 2;
    border: 1px solid rgba(185, 115, 247, 0.35);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(24, 5, 82, 0.85);
    backdrop-filter: blur(6px);
    box-shadow: 0 10px 30px -12px rgba(2, 0, 36, 0.8);
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.tagged-games__nav:hover[b-z1amift5ch],
.tagged-games__nav:focus-visible[b-z1amift5ch] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
    border-color: #b973f7;
}

.tagged-games__nav.start-0[b-z1amift5ch] {
    transform: translate(-50%, -50%);
}

.tagged-games__nav.end-0[b-z1amift5ch] {
    transform: translate(50%, -50%);
}

.tagged-games__card[b-z1amift5ch] {
    flex: 0 0 clamp(220px, 72vw, 264px);
    scroll-snap-align: start;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.14) 0%, rgba(24, 5, 82, 0.55) 45%, rgba(32, 30, 52, 0.85) 100%);
    border: 1px solid rgba(185, 115, 247, 0.25);
    border-radius: 16px;
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.tagged-games__card:hover[b-z1amift5ch],
.tagged-games__card:focus-visible[b-z1amift5ch] {
    transform: translateY(-4px);
    border-color: #b973f7;
    box-shadow: 0 24px 50px -22px rgba(185, 115, 247, 0.45);
}

.tagged-games__card-logo[b-z1amift5ch] {
    object-fit: contain;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 5px;
}

.tagged-games__card-logo--placeholder[b-z1amift5ch] {
    width: 96px;
    height: 96px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 3.4rem;
}

.tagged-games__card-title[b-z1amift5ch] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #ffffff;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tagged-games__card-provider[b-z1amift5ch] {
    font-size: 0.8rem;
    color: #b973f7;
    font-weight: 600;
}

/* RatingStars' root is d-inline-flex with no justify-content of its own; the flex-column card
   content stretches it to full width by default, so without this its stars pack to the left. */
.tagged-games__card[b-z1amift5ch]  .rating-stars {
    justify-content: center;
}

.tagged-games__card-desc[b-z1amift5ch] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tagged-games__badge[b-z1amift5ch] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    padding: 0.25rem 0.7rem;
}

.tagged-games__badge--volatility-low[b-z1amift5ch] {
    color: #86efac;
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(74, 222, 128, 0.35);
}

.tagged-games__badge--volatility-medium[b-z1amift5ch] {
    color: #fcd34d;
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(251, 191, 36, 0.35);
}

.tagged-games__badge--volatility-high[b-z1amift5ch] {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(248, 113, 113, 0.35);
}

.tagged-games__card-cta[b-z1amift5ch] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    border-radius: 999px;
    transition: transform 0.18s ease, background 0.18s ease;
    text-decoration: none;
}

.tagged-games__card-cta-arrow[b-z1amift5ch] {
    transition: transform 0.18s ease;
}

.tagged-games__card:hover .tagged-games__card-cta[b-z1amift5ch],
.tagged-games__card:focus-visible .tagged-games__card-cta[b-z1amift5ch] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.tagged-games__card:hover .tagged-games__card-cta-arrow[b-z1amift5ch],
.tagged-games__card:focus-visible .tagged-games__card-cta-arrow[b-z1amift5ch] {
    transform: translateX(3px);
}

/*@media (max-width: 767.98px) {
    .tagged-games {
        width: 94% !important;
    }
}*/

@media (max-width: 576px) {
    .tagged-games__card[b-z1amift5ch] {
        padding: .25rem !important;
    }

    .tagged-games__card-desc[b-z1amift5ch] {
        display: none;
    }

    .tagged-games__card-title[b-z1amift5ch] {
        min-height: 2.6em;
    }
}
/* /Components/Custom/TextSection/TextSectionRender.razor.rz.scp.css */
.text-section-title[b-vz5bzmkaos] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 1rem;
    position: relative;
    padding-bottom: 0.75rem;
}

.text-section-title[b-vz5bzmkaos]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5.5rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
}

/* No white-space: pre-line any more - the body is block-level HTML, where it would add stray
   whitespace around every element. Line breaks are carried by the markup itself. */
.text-section-body[b-vz5bzmkaos] {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
}
/* /Components/Custom/VerdictBox/VerdictBoxRender.razor.rz.scp.css */
/* ::deep on the body because the markup comes from a MarkupString and doesn't carry this
   component's scope attribute. */

.verdict[b-jkrbwbm3dv] {
    border-radius: 18px;
    border: 1px solid rgba(185, 115, 247, 0.3);
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.12) 0%, rgba(24, 5, 82, 0.5) 45%, rgba(32, 30, 52, 0.82) 100%);
}

.verdict__title[b-jkrbwbm3dv] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.3rem, 2.8vw, 1.8rem);
    color: #ffffff;
}

.verdict__score[b-jkrbwbm3dv] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: #ffffff;
}

.verdict__score-max[b-jkrbwbm3dv] {
    font-size: 0.9rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
}

.verdict__body[b-jkrbwbm3dv] {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
}

.verdict__body[b-jkrbwbm3dv]  p:last-child {
    margin-bottom: 0;
}

.verdict__body[b-jkrbwbm3dv]  a {
    color: #b973f7;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.verdict__body[b-jkrbwbm3dv]  ul,
.verdict__body[b-jkrbwbm3dv]  ol {
    padding-left: 1.25rem;
}

/* /Components/Custom/VideoEmbed/VideoEmbedRender.razor.rz.scp.css */
/* Aspect ratio comes from Bootstrap's .ratio helper in the markup - this file covers the
   click-to-load facade, which has no Bootstrap equivalent. */

.video-embed[b-45tvmmznvh] {
    width: 100%;
    padding-block: clamp(0.75rem, 2vw, 1.5rem);
}

.video-embed__frame[b-45tvmmznvh] {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(185, 115, 247, 0.25);
    box-shadow: 0 20px 45px -28px rgba(2, 0, 36, 0.6);
}

/* ::deep because page-widgets.js creates the iframe on click, so it never carries this file's
   scope attribute. */
.video-embed__frame[b-45tvmmznvh]  iframe {
    border: 0;
}

.video-embed__facade[b-45tvmmznvh] {
    width: 100%;
    height: 100%;
    position: relative;
    padding: 1rem;
    border: 0;
    cursor: pointer;
    color: #ffffff;
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.22) 0%, rgba(24, 5, 82, 0.7) 45%, rgba(32, 30, 52, 0.9) 100%);
}

.video-embed__poster[b-45tvmmznvh] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Dimmed so the play button and title stay legible over any still. */
    opacity: 0.55;
}

.video-embed__play[b-45tvmmznvh] {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 999px;
    font-size: 2.6rem;
    line-height: 1;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    box-shadow: 0 18px 40px -18px rgba(185, 115, 247, 0.8);
    transition: transform 0.18s ease, background 0.18s ease;
}

.video-embed__facade:hover .video-embed__play[b-45tvmmznvh],
.video-embed__facade:focus-visible .video-embed__play[b-45tvmmznvh] {
    transform: scale(1.08);
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.video-embed__facade-title[b-45tvmmznvh] {
    position: relative;
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 2vw, 1.25rem);
    text-align: center;
}

.video-embed__facade-note[b-45tvmmznvh] {
    position: relative;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
}

.video-embed__caption[b-45tvmmznvh] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.65);
}
/* /Components/Custom/WhereToPlay/WhereToPlayRender.razor.rz.scp.css */
.where-to-play__title[b-umwkpgyh7m] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.where-to-play__subtitle[b-umwkpgyh7m] {
    font-size: clamp(0.9rem, 1.4vw, 1.05rem);
    color: rgba(255, 255, 255, 0.65);
}

.where-to-play__row[b-umwkpgyh7m] {
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.12) 0%, rgba(24, 5, 82, 0.5) 45%, rgba(32, 30, 52, 0.8) 100%);
    border: 1px solid rgba(185, 115, 247, 0.22);
    border-radius: 14px;
    transition: transform 0.18s ease, border-color 0.18s ease;
}

.where-to-play__row:hover[b-umwkpgyh7m],
.where-to-play__row:focus-visible[b-umwkpgyh7m] {
    transform: translateY(-2px);
    border-color: #b973f7;
}

.where-to-play__logo[b-umwkpgyh7m] {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.35);
    font-size: 1.4rem;
}

.where-to-play__logo-img[b-umwkpgyh7m] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
}

.where-to-play__name[b-umwkpgyh7m] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
}

.where-to-play__deposit[b-umwkpgyh7m] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

.where-to-play__cta[b-umwkpgyh7m] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    color: #b973f7;
    flex-shrink: 0;
}

.where-to-play__cta-arrow[b-umwkpgyh7m] {
    transition: transform 0.18s ease;
}

.where-to-play__row:hover .where-to-play__cta-arrow[b-umwkpgyh7m] {
    transform: translateX(3px);
}

@media (max-width: 767.98px) {
 /*   .where-to-play {
        width: 94% !important;
    }*/
}
/* /Components/Custom/WrittenBy/WrittenByRender.razor.rz.scp.css */
.byline[b-wv7u0z71cd] {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
}

.byline__avatar[b-wv7u0z71cd] {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(185, 115, 247, 0.14);
    color: rgba(255, 255, 255, 0.5);
    font-size: 1.4rem;
}

.byline__avatar-img[b-wv7u0z71cd] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.byline__name[b-wv7u0z71cd] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    color: #ffffff;
}

.byline__prefix[b-wv7u0z71cd] {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.55);
    margin-right: 0.25rem;
}

.byline__role[b-wv7u0z71cd] {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.6);
}

.byline__dates[b-wv7u0z71cd] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
}

/* Separator between the two dates, so they don't need a hard-coded bullet in the markup. */
.byline__updated[b-wv7u0z71cd]::before {
    content: "·";
    margin-inline: 0.4rem;
}

.byline__bio[b-wv7u0z71cd] {
    font-size: 0.85rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.7);
}
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
#blazor-error-ui[b-ceglh3nbmd] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-ceglh3nbmd] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ComingSoonLayout.razor.rz.scp.css */
.coming-soon-shell[b-3y5at7slrz] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-8tnvea4k5i] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    /* Sits on the physical bottom edge (viewport-fit=cover) - keep its text above the phone's
       gesture bar / home indicator. */
    padding: 0.6rem 1.25rem calc(0.7rem + env(safe-area-inset-bottom, 0px)) 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-8tnvea4k5i] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

html[b-8tnvea4k5i], body[b-8tnvea4k5i] {
    height: 100%;
    margin: 0;
}

.app[b-8tnvea4k5i] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* Lets full-bleed components (HeroBanner, Hero, DynamicHero) size to 100cqw - unlike 100vw,
       that excludes a desktop vertical scrollbar, which otherwise causes a sideways scroll. */
    container-type: inline-size;
}
/* /Components/Pages/Admin/Editors/GameEditor.razor.rz.scp.css */
.scaled-checkbox[b-upx2y6lxol] {
    transform: scale(1.5);
    transform-origin: left center;
}
/* /Components/Pages/Admin/Media.razor.rz.scp.css */
.media-grid[b-9e0svbved4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1rem;
}

.media-card[b-9e0svbved4] {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--bs-border-color, #495057);
    border-radius: 8px;
    padding: 0.75rem;
    cursor: pointer;
    background: #212529;
}

    .media-card:hover[b-9e0svbved4] {
        border-color: var(--bs-primary, #0d6efd);
    }

    .media-card--selected[b-9e0svbved4] {
        border-color: var(--bs-primary, #0d6efd);
        background: rgba(13, 110, 253, 0.15);
    }

    .media-card img[b-9e0svbved4] {
        width: 100%;
        height: 110px;
        object-fit: contain;
        background: #343a40;
        border-radius: 6px;
        padding: 4px;
        margin-bottom: 0.5rem;
    }

.media-card__name[b-9e0svbved4] {
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.media-card__folder[b-9e0svbved4] {
    font-size: 0.75rem;
    color: var(--bs-secondary-color, #adb5bd);
}

.media-card__warning[b-9e0svbved4] {
    font-size: 0.7rem;
    color: var(--bs-warning, #ffc107);
    margin-top: 0.25rem;
}

.media-card__edit[b-9e0svbved4] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}
/* /Components/Pages/ComingSoon.razor.rz.scp.css */
/* The page sits on the site-wide dark gradient already set on body in site.css (the app.css
   section), so this only has to centre and space the holding content. */
.coming-soon[b-axywst32a2] {
    max-width: 40rem;
    margin: 0 auto;
    text-align: center;
    color: #fff;
}

.coming-soon__logo[b-axywst32a2] {
    max-width: 14rem;
    width: 100%;
    height: auto;
    margin-bottom: 2.5rem;
}

.coming-soon__title[b-axywst32a2] {
    font-family: 'Sora', sans-serif;
    font-size: clamp(1.9rem, 5vw, 3rem);
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 1rem;
}

.coming-soon__body[b-axywst32a2] {
    font-size: 1.075rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
    margin: 0 auto;
    max-width: 32rem;
}

.coming-soon__art[b-axywst32a2] {
    display: block;
    width: 100%;
    max-width: 26rem;
    /* Capped against the viewport as well as in rem so the whole page still fits on a laptop
       screen without scrolling. */
    max-height: 38vh;
    height: auto;
    object-fit: contain;
    margin: 2.5rem auto 0;
    opacity: 0.9;
}
/* /Components/Pages/EntityPageView.razor.rz.scp.css */
/* CSS for EntityPageView component */
@media (max-width: 576px) {
    .page-template[b-yp7einbhtv] {
        width: 90% !important;
    }
}
/* /Components/Pages/Search.razor.rz.scp.css */
.search-page[b-ztzns0gv9x] {
    padding-block: clamp(1.5rem, 4vw, 3rem);
    min-height: 60vh;
}

.search-page__title[b-ztzns0gv9x] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.6rem, 3.4vw, 2.4rem);
    color: #ffffff;
}

.search-page__input[b-ztzns0gv9x] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(185, 115, 247, 0.3);
    border-radius: 999px;
    padding: 0.75rem 1.25rem;
    color: #ffffff;
}

.search-page__input[b-ztzns0gv9x]::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.search-page__input:focus[b-ztzns0gv9x] {
    background: rgba(255, 255, 255, 0.1);
    border-color: #b973f7;
    box-shadow: 0 0 0 0.2rem rgba(185, 115, 247, 0.2);
    color: #ffffff;
}

.search-page__submit[b-ztzns0gv9x] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    color: #ffffff;
    border: 0;
    border-radius: 999px;
    padding: 0.75rem 1.75rem;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    transition: background 0.18s ease, transform 0.18s ease;
}

.search-page__submit:hover[b-ztzns0gv9x],
.search-page__submit:focus-visible[b-ztzns0gv9x] {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

.search-page__empty[b-ztzns0gv9x],
.search-page__count[b-ztzns0gv9x] {
    color: rgba(255, 255, 255, 0.65);
}

.search-page__result[b-ztzns0gv9x] {
    background: linear-gradient(160deg, rgba(96, 0, 255, 0.12) 0%, rgba(24, 5, 82, 0.5) 45%, rgba(32, 30, 52, 0.8) 100%);
    border: 1px solid rgba(185, 115, 247, 0.22);
    border-radius: 14px;
    transition: transform 0.18s ease, border-color 0.18s ease;
}

.search-page__result--link:hover[b-ztzns0gv9x],
.search-page__result--link:focus-visible[b-ztzns0gv9x] {
    transform: translateY(-2px);
    border-color: #b973f7;
}

.search-page__thumb[b-ztzns0gv9x] {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.35);
    font-size: 1.5rem;
}

.search-page__thumb-img[b-ztzns0gv9x] {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
}

.search-page__name[b-ztzns0gv9x] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: #ffffff;
}

.search-page__type[b-ztzns0gv9x] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #b973f7;
    background: rgba(185, 115, 247, 0.14);
    border: 1px solid rgba(185, 115, 247, 0.3);
    border-radius: 999px;
    padding: 0.15rem 0.6rem;
}

.search-page__desc[b-ztzns0gv9x] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 767.98px) {
   /* .search-page {
        width: 94% !important;
    }*/
}
/* /Components/Pages/StaticPageView.razor.rz.scp.css */
/* CSS for StaticPageView component */
@media (max-width: 576px) {
    .page-template[b-eejeeujz8y] {
        width: 90% !important;
    }
}
/* /Components/Shared/CardRibbon.razor.rz.scp.css */
/* The ribbon's fill is a gradient derived from the single --ribbon-color, so every colour an admin
   picks gets the same lit-from-above depth. The root carries the drop-shadow because a shadow on
   the clip-path'd body would be clipped away with it. */
.card-ribbon[b-cxg62egl80] {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    max-width: calc(100% - 1rem);
    pointer-events: none;
    filter: drop-shadow(0 6px 10px rgba(2, 0, 36, 0.45));
}

.card-ribbon--inset[b-cxg62egl80] {
    top: 0.5rem;
    transform: translateX(-50%);
}

/* The game cards shrink their padding to .25rem on phones, which would leave a straddling ribbon
   poking out of the card (and clipped inside the scrolling Tagged Games track), so sit inside. */
@media (max-width: 576px) {
    .card-ribbon[b-cxg62egl80] {
        top: 0.5rem;
        transform: translateX(-50%);
    }
}

.card-ribbon__body[b-cxg62egl80] {
    display: block;
    padding: 0.3rem 1.35rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--ribbon-ink);
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--ribbon-color) 72%, #ffffff) 0%,
        var(--ribbon-color) 52%,
        color-mix(in srgb, var(--ribbon-color) 76%, #000000) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), inset 0 -1px 0 rgba(0, 0, 0, 0.2);
    /* Swallowtail notches at both ends. */
    clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 50%, 100% 100%, 0 100%, 9px 50%);
}
/* /Components/Shared/CookieConsentBanner.razor.rz.scp.css */
/* Fixed bottom bar; colours match the region selector's dark-purple/white palette
   (RegionSelector.razor.css), which itself has no global equivalent in wwwroot/css/site.css. */

.cookie-banner[b-a1p9rs85nm] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: #120a33;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.45);
}

    /* The display:flex above would otherwise beat the hidden attribute analytics-consent.js toggles. */
    .cookie-banner[hidden][b-a1p9rs85nm] {
        display: none;
    }

.cookie-banner__text[b-a1p9rs85nm] {
    margin: 0;
    color: #ffffff;
    font-size: 0.9rem;
    flex: 1 1 320px;
}

.cookie-banner__link[b-a1p9rs85nm] {
    color: #b973f7;
    text-decoration: underline;
}

.cookie-banner__actions[b-a1p9rs85nm] {
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

.cookie-banner__reject[b-a1p9rs85nm],
.cookie-banner__accept[b-a1p9rs85nm] {
    height: 38px;
    padding-inline: 1.1rem;
    border-radius: 999px;
    font-size: 0.9rem;
    white-space: nowrap;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.cookie-banner__reject[b-a1p9rs85nm] {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
}

.cookie-banner__reject:hover[b-a1p9rs85nm],
.cookie-banner__reject:focus-visible[b-a1p9rs85nm] {
    background: rgba(255, 255, 255, 0.08);
}

.cookie-banner__accept[b-a1p9rs85nm] {
    background: #6F4CFF;
    border: 1px solid #6F4CFF;
    color: #ffffff;
}

.cookie-banner__accept:hover[b-a1p9rs85nm],
.cookie-banner__accept:focus-visible[b-a1p9rs85nm] {
    background: #7d5eff;
}

@media (max-width: 575.98px) {
    .cookie-banner[b-a1p9rs85nm] {
        flex-direction: column;
        align-items: stretch;
        /* Overrides the row layout's space-between, which under a column direction would treat
           the gap between text and actions as vertical free space to distribute rather than a
           small fixed margin. */
        justify-content: flex-start;
        gap: 0.85rem;
    }

    .cookie-banner__text[b-a1p9rs85nm] {
        /* The row layout's "1 1 320px" is a preferred *width*; under column direction the same
           basis applies to height instead, which is what caused the two rows to spread apart. */
        flex: none;
    }

    .cookie-banner__actions[b-a1p9rs85nm] {
        justify-content: flex-end;
    }
}
/* /Components/Shared/Footer.razor.rz.scp.css */
.site-footer[b-itfbub3d0r] {
    background: #14151a;
    color: #c7c8cf;
    margin-top: auto; /* pairs with a flex layout so the footer sticks to the bottom */
    width: 100%;
    font-family: inherit;
}

/* ---------- top section: logo + company links ---------- */

.footer-top[b-itfbub3d0r] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 1.5rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-logo img[b-itfbub3d0r] {
    height: 40px;
    width: auto;
}

.footer-links .footer-heading[b-itfbub3d0r] {
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.footer-links ul[b-itfbub3d0r] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .footer-links ul li a[b-itfbub3d0r] {
        color: #c7c8cf;
        text-decoration: none;
        font-size: 0.9rem;
    }

        .footer-links ul li a:hover[b-itfbub3d0r] {
            color: #ffffff;
            text-decoration: underline;
        }

/* ---------- bottom section: tagline link, badges, small print ---------- */

.footer-bottom[b-itfbub3d0r] {
    max-width: 1200px;
    margin: 0 auto;
    /* The page is edge-to-edge (viewport-fit=cover in App.razor), so on phones the footer runs
       under the gesture bar / home indicator: pad by its height so the small print stays above
       it while the footer's own background fills the strip behind it. 0 on desktop. */
    padding: 1.5rem 1.5rem calc(2.5rem + env(safe-area-inset-bottom, 0px)) 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
}

.footer-tagline[b-itfbub3d0r] {
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
}

    .footer-tagline:hover[b-itfbub3d0r] {
        text-decoration: underline;
    }

.footer-badges[b-itfbub3d0r] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
}

    .footer-badges img[b-itfbub3d0r] {
        height: 32px;
        width: auto;
        opacity: 0.85;
    }

        .footer-badges img:hover[b-itfbub3d0r] {
            opacity: 1;
        }

.footer-small-print[b-itfbub3d0r] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #7a7b85;
    max-width: 700px;
}

.footer-cookie-preferences[b-itfbub3d0r] {
    margin-top: 0.5rem;
    padding: 0;
    border: 0;
    background: none;
    color: #7a7b85;
    font-size: 0.75rem;
    text-decoration: underline;
    cursor: pointer;
}

    .footer-cookie-preferences:hover[b-itfbub3d0r],
    .footer-cookie-preferences:focus-visible[b-itfbub3d0r] {
        color: #ffffff;
    }

/* ---------- responsive ---------- */

@media (max-width: 600px) {
    .footer-top[b-itfbub3d0r] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Shared/NavMenu.razor.rz.scp.css */
/* The nav's colours come from .menu / .nav-link in wwwroot/css/site.css (the app.css section) -
   this file only covers the search field and the row it shares with the region selector, neither
   of which has a global equivalent. The selector's own styling is scoped to RegionSelector.razor.css. */

.navmenu__tools[b-ibf5ki4ddu] {
    flex-shrink: 0;
}

.navmenu__search[b-ibf5ki4ddu] {
    gap: 0.4rem;
    max-width: 260px;
}

.navmenu__search-input[b-ibf5ki4ddu] {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    padding-inline: 0.9rem;
    color: #ffffff;
}

.navmenu__search-input[b-ibf5ki4ddu]::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.navmenu__search-input:focus[b-ibf5ki4ddu] {
    background: rgba(255, 255, 255, 0.12);
    border-color: #b973f7;
    box-shadow: 0 0 0 0.2rem rgba(185, 115, 247, 0.2);
    color: #ffffff;
}

.navmenu__search-btn[b-ibf5ki4ddu] {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    transition: background 0.18s ease;
}

.navmenu__search-btn:hover[b-ibf5ki4ddu],
.navmenu__search-btn:focus-visible[b-ibf5ki4ddu] {
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}

/* Stacked menu: the row has the full navbar width, so let the pair wrap onto two lines rather than
   squeezing the search field down beside the selector. */
@media (max-width: 1199.98px) {
    .navmenu__tools[b-ibf5ki4ddu] {
        flex-wrap: wrap;
    }

    .navmenu__search[b-ibf5ki4ddu] {
        max-width: none;
        flex: 1 1 200px;
    }
}
/* /Components/Shared/NotFoundContent.razor.rz.scp.css */
.not-found[b-ymovd3i3di] {
    padding-block: clamp(3rem, 10vw, 6rem);
}

.not-found__code[b-ymovd3i3di] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(3.5rem, 12vw, 6rem);
    line-height: 1;
    background: linear-gradient(135deg, #6000ff 0%, #b973f7 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.not-found__title[b-ymovd3i3di] {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #ffffff;
}

.not-found__body[b-ymovd3i3di] {
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    max-width: 46ch;
    margin-inline: auto;
}

.not-found__cta[b-ymovd3i3di] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    color: #ffffff;
    padding: 0.75rem 1.75rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #6000ff 0%, #8a2be2 100%);
    transition: transform 0.18s ease, background 0.18s ease;
}

.not-found__cta:hover[b-ymovd3i3di],
.not-found__cta:focus-visible[b-ymovd3i3di] {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #6f14ff 0%, #b973f7 100%);
}
/* /Components/Shared/RatingStars.razor.rz.scp.css */
/* The overlay-and-clip trick is what allows a fractional star: two copies of the glyph stacked,
   the filled one clipped to a percentage width set inline per star. */

.rating-stars--vertical[b-cmhv2te3iw] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rating-stars__track[b-cmhv2te3iw] {
    gap: 0.15rem;
    line-height: 1;
}

.rating-stars__star-wrap[b-cmhv2te3iw] {
    position: relative;
    display: inline-block;
    line-height: 1;
}

.rating-stars__star[b-cmhv2te3iw] {
    display: block;
    white-space: nowrap;
}

.rating-stars__star--bg[b-cmhv2te3iw] {
    color: rgba(244, 246, 255, 0.25);
}

.rating-stars__star--fill[b-cmhv2te3iw] {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    /* Inherited from an ancestor that defines it (e.g. .bonus-card); the fallback keeps the
       component correct anywhere else on the site. */
    color: var(--gold-bright, #F2C96B);
    width: 0%; /* overridden inline per-star */
}

.rating-stars__value[b-cmhv2te3iw] {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
    line-height: 1;
}

.rating-stars__max[b-cmhv2te3iw] {
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
}
/* /Components/Shared/RegionSelector.razor.rz.scp.css */
/* Sits beside the search field in the nav bar; colours are taken from .menu / .nav-link in
   wwwroot/css/site.css (the app.css section), which this has no global equivalent in. */

.region-selector[b-lmf87t5ian] {
    position: relative;
    flex-shrink: 0;
}

.region-selector__trigger[b-lmf87t5ian] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    height: 34px;
    padding-inline: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    white-space: nowrap;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.region-selector__trigger:hover[b-lmf87t5ian],
.region-selector__trigger:focus-visible[b-lmf87t5ian] {
    background: rgba(255, 255, 255, 0.12);
    border-color: #b973f7;
}

.region-selector__badge[b-lmf87t5ian] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

/* Fixed box so the globe glyph and the 4:3 flags occupy the same width and the labels line up,
   the same trick .menu .navmenu__icon-img uses for image nav icons. */
.region-selector__flag[b-lmf87t5ian],
.region-selector__globe[b-lmf87t5ian] {
    width: 1.35em;
    height: 1.35em;
    flex-shrink: 0;
    text-align: center;
}

.region-selector__flag[b-lmf87t5ian] {
    object-fit: cover;
    border-radius: 3px;
}

.region-selector__globe[b-lmf87t5ian] {
    color: #6F4CFF;
    font-size: 1em;
    line-height: 1.35em;
}

.region-selector__label[b-lmf87t5ian] {
    font-size: 0.95rem;
}

.region-selector__chevron[b-lmf87t5ian] {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.55);
}

.region-selector__menu[b-lmf87t5ian] {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    z-index: 1000;
    min-width: 100%;
    margin: 0;
    padding: 0.25rem;
    list-style: none;
    background: #120a33;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.6rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.region-selector__option[b-lmf87t5ian] {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 0.45rem;
    padding: 0.4rem 0.6rem;
    border: 0;
    border-radius: 0.4rem;
    background: transparent;
    color: #ffffff;
    text-align: left;
    white-space: nowrap;
}

.region-selector__option:hover[b-lmf87t5ian],
.region-selector__option:focus-visible[b-lmf87t5ian] {
    background: rgba(255, 255, 255, 0.1);
}

.region-selector__option--selected[b-lmf87t5ian] {
    color: #b973f7;
}

/* Stacked menu: the dropdown has the full width of the collapsed navbar to open into, and
   right-aligning it there would leave it floating away from the control. */
@media (max-width: 1199.98px) {
    .region-selector[b-lmf87t5ian] {
        align-self: flex-start;
    }

    .region-selector__menu[b-lmf87t5ian] {
        left: 0;
        right: auto;
    }
}
