/* BETBBR public visual polish: deliberately scoped to the lobby so provider pages keep their behavior. */
:root {
    --betbbr-card-radius: .14rem;
    --betbbr-card-shadow: 0 .08rem .24rem rgba(0,0,0,.22);
}
/* The original bundle exposes these layout primitives with hashed class names. */
[class*="_poster-img-box-core_"],
[class*="_poster-box_"],
[class*="_floors-background_"] {
    height: calc(var(--card-benchmark, 1rem) * 1.3333) !important;
    aspect-ratio: 3 / 4 !important;
    border-radius: var(--betbbr-card-radius) !important;
    overflow: hidden !important;
    /* Use only the color property: the background shorthand erases the inline IGameWin image URL. */
    background-color: #141820 !important;
}
/* Special-game posters fill a 3:4 portrait area without letterbox bars. */
[class*="_special-comp_"] [class*="_poster-img-box-core_"],
[class*="_special-comp_"] [class*="_poster-box_"],
[class*="_special-comp_"] [class*="_floors-background_"] {
    height: calc(var(--card-benchmark, 1rem) * 1.3333) !important;
    aspect-ratio: 3 / 4 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
[class*="_special-comp_"] [class*="_poster-img-box-core_"] img,
[class*="_special-comp_"] [class*="_poster-box_"] img,
[class*="_special-comp_"] [class*="_floors-background_"] img {
    object-fit: cover !important;
}
/* In this carousel the cover art already contains the game title; hide only the duplicate caption below it. */
[class*="_special-comp_"] [class*="_game-name-normal_"] {
    display: none !important;
}
[class*="_special-comp_"] [class*="_name-img-layout_"] {
    height: auto !important;
    min-height: 0 !important;
}
/* Reserve only enough carousel height for the poster itself; keep its dots below the image. */
[class*="_special-comp_"] [class*="_list-slide-layout_"],
[class*="_special-comp_"] [class*="_list-slide-layout-inner_"] {
    --list-slide-height: 1.74rem !important;
    --list-slide-grid-template-rows: 1.74rem !important;
}
/* Do not let the poster-row height apply to the pagination dots below the carousel. */
[class*="_special-comp_"] [class*="_slide-indicator_"],
[class*="_special-comp_"] [class*="_slide-indicator_"] [class*="_list-slide-layout_"],
[class*="_special-comp_"] [class*="_slide-indicator_"] [class*="_list-slide-layout-inner_"] {
    --list-slide-height: .08rem !important;
    --list-slide-grid-template-rows: 1fr !important;
}
/* Remove the bundle's extra top margin below the special-games carousel. */
[class*="_special-layout_"] + [class*="_gameContent_"] {
    margin-top: 0 !important;
}
[class*="_name-img-layout_"] {
    height: auto !important;
    min-height: calc(var(--card-benchmark, 1rem) * 1.3333) !important;
    border-radius: var(--betbbr-card-radius) !important;
    overflow: hidden !important;
    transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
[class*="_name-img-layout_"]:hover {
    transform: translateY(-.04rem);
    filter: brightness(1.06);
    box-shadow: var(--betbbr-card-shadow);
}
[class*="_poster-img-box-core_"] img,
[class*="_poster-box_"] img,
[class*="_floors-background_"] img,
[class*="_name-img-layout_"] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: inherit !important;
}
[class*="_game-name-normal_"] { border-radius: 0 0 var(--betbbr-card-radius) var(--betbbr-card-radius); }
/* Keep authenticated VIP and game content visible while async data refreshes. */
[class*="_vip-container_"], [class*="_vip-container_"] img,
[class*="_game-list-design_"], [class*="_game-list-design_"] img { opacity: 1 !important; visibility: visible !important; }
/* Accessible focus feedback for every clickable control in the lobby. */
button, a, [role="button"] { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, [role="button"]:focus-visible { outline: 2px solid #fb7185 !important; outline-offset: 2px; }
button:active, [role="button"]:active { transform: translateY(1px); filter: brightness(.94); }
img { max-width: 100%; height: auto; }
[aria-busy="true"], .is-loading { cursor: progress; pointer-events: none; opacity: .72; }
html, body { min-width: 0; overflow-x: hidden; }
table, .el-table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 600px) {
    [class*="_poster-img-box-core_"], [class*="_poster-box_"], [class*="_floors-background_"] { aspect-ratio: 3 / 4 !important; }
    [class*="_special-comp_"] [class*="_poster-img-box-core_"],
    [class*="_special-comp_"] [class*="_poster-box_"],
    [class*="_special-comp_"] [class*="_floors-background_"] {
        height: calc(var(--card-benchmark, 1rem) * 1.3333) !important;
        aspect-ratio: 3 / 4 !important;
    }
    /* The five-card slide is a little wider than the mobile viewport; scale only each page, not the moving track. */
    [class*="_special-comp_"] [class*="_list-slide-layout-inner_"]:not([class*="_scroll-box-transform-inner_"]) {
        transform: scale(.92) !important;
        transform-origin: center center !important;
    }
    input, select, textarea, button { font-size: 16px; }
    [role="dialog"], .el-dialog, .van-popup { max-width: calc(100vw - 24px) !important; margin-inline: 12px; }
}
