/*=============================================
                  Global Start
=============================================*/

:root {
    --page-background: #04072a;
    --surface-main: #08113c;
    --surface-light: #101b56;

    --text-main: #ffffff;
    --text-secondary: #d3dcf4;

    --blue-main: #16d9ff;
    --blue-light: #75edff;
    --blue-dark: #2373ff;

    --gold-main: #ffc33d;
    --gold-light: #ffe184;
    --gold-dark: #df9618;

    --coral-main: #ff704f;

    --container-width: 1640px;
    --header-height: 86px;

    --transition-fast: 0.2s ease;
    --transition-main: 0.35s ease;
}


*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color: var(--text-main);
    background: var(--page-background);

    line-height: 1.6;
}


body.nav-open {
    overflow: hidden;
}


a {
    color: inherit;
    text-decoration: none;
}


button {
    font: inherit;
}


img,
svg {
    display: block;
    max-width: 100%;
}


main {
    overflow: hidden;
}


section {
    scroll-margin-top:
        calc(var(--header-height) + 20px);
}


.visually-hidden {
    position: absolute;

    width: 1px;
    height: 1px;

    padding: 0;
    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;
}

/*=============================================
                   Global End
=============================================*/


/*=============================================
                  Header Start
=============================================*/

.site-header {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    background:
        rgba(4, 7, 42, 0.92);

    border-bottom:
        1px solid
        rgba(22, 217, 255, 0.16);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    transition:
        background var(--transition-main),
        border-color var(--transition-main),
        box-shadow var(--transition-main);
}


.site-header.is-scrolled {
    background:
        rgba(4, 7, 42, 0.98);

    border-color:
        rgba(255, 195, 61, 0.24);

    box-shadow:
        0 14px 40px
        rgba(0, 0, 0, 0.35);
}


.site-header-inner {
    width:
        min(
            calc(100% - 48px),
            var(--container-width)
        );

    height:
        var(--header-height);

    margin:
        0 auto;

    display:
        flex;

    align-items:
        center;

    gap:
        22px;
}


/*=============================================
                    Logo Start
=============================================*/

.site-logo {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        13px;

    flex-shrink:
        0;
}


.site-logo-mark {
    width:
        52px;

    height:
        52px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        2px solid
        rgba(22, 217, 255, 0.95);

    border-radius:
        50%;

    background:
        linear-gradient(
            145deg,
            #172268 0%,
            #5a3de1 50%,
            #16d9ff 100%
        );

    color:
        #ffffff;

    font-size:
        27px;

    font-weight:
        900;

    font-style:
        italic;

    line-height:
        1;

    box-shadow:
        0 0 23px
        rgba(22, 217, 255, 0.38);
}


.site-logo-text {
    display:
        flex;

    flex-direction:
        column;

    line-height:
        1;
}


.site-logo-text strong {
    color:
        #ffffff;

    font-size:
        20px;

    font-weight:
        900;

    letter-spacing:
        0.075em;
}


.site-logo-text small {
    margin-top:
        7px;

    color:
        var(--gold-main);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        0.34em;
}

/*=============================================
                     Logo End
=============================================*/


/*=============================================
                 Navigation Start
=============================================*/

.main-navigation {
    margin-left:
        auto;

    display:
        flex;

    align-items:
        center;

    gap:
        3px;
}


.main-navigation a {
    position:
        relative;

    padding:
        11px 12px;

    border-radius:
        9px;

    color:
        #e4e9f8;

    font-size:
        14px;

    font-weight:
        800;

    white-space:
        nowrap;

    transition:
        color var(--transition-fast),
        background var(--transition-fast),
        text-shadow var(--transition-fast);
}


.main-navigation a:hover,
.main-navigation a:focus-visible {
    color:
        var(--blue-light);

    background:
        rgba(22, 217, 255, 0.08);

    text-shadow:
        0 0 14px
        rgba(22, 217, 255, 0.45);
}


.main-navigation a.is-active {
    color:
        #ffffff;
}


.main-navigation a.is-active::after {
    content:
        "";

    position:
        absolute;

    left:
        12px;

    right:
        12px;

    bottom:
        2px;

    height:
        2px;

    border-radius:
        999px;

    background:
        linear-gradient(
            90deg,
            var(--blue-main),
            var(--gold-main)
        );

    box-shadow:
        0 0 12px
        rgba(22, 217, 255, 0.6);
}

/*=============================================
                  Navigation End
=============================================*/


/*=============================================
               Header Button Start
=============================================*/

.header-play {
    min-height:
        48px;

    padding:
        0 25px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    flex-shrink:
        0;

    border:
        1px solid
        rgba(255, 225, 132, 0.92);

    border-radius:
        11px;

    background:
        linear-gradient(
            135deg,
            #ffe477 0%,
            #ffc43a 48%,
            #ec9e18 100%
        );

    color:
        #09102e;

    font-size:
        14px;

    font-weight:
        900;

    box-shadow:
        0 0 24px
        rgba(255, 195, 61, 0.32);

    transition:
        transform var(--transition-fast),
        box-shadow var(--transition-fast),
        filter var(--transition-fast);
}


.header-play:hover,
.header-play:focus-visible {
    transform:
        translateY(-2px);

    box-shadow:
        0 0 35px
        rgba(255, 195, 61, 0.5);

    filter:
        brightness(1.08);
}

/*=============================================
                Header Button End
=============================================*/


/*=============================================
               Mobile Menu Start
=============================================*/

.nav-toggle {
    display:
        none;

    width:
        44px;

    height:
        44px;

    margin-left:
        auto;

    padding:
        10px;

    border:
        1px solid
        rgba(22, 217, 255, 0.34);

    border-radius:
        10px;

    background:
        rgba(22, 217, 255, 0.08);

    cursor:
        pointer;
}


.nav-toggle span {
    display:
        block;

    width:
        100%;

    height:
        2px;

    margin:
        5px 0;

    border-radius:
        10px;

    background:
        #ffffff;

    transition:
        transform var(--transition-main),
        opacity var(--transition-main);
}


.nav-toggle.is-active span:nth-child(1) {
    transform:
        translateY(7px)
        rotate(45deg);
}


.nav-toggle.is-active span:nth-child(2) {
    opacity:
        0;
}


.nav-toggle.is-active span:nth-child(3) {
    transform:
        translateY(-7px)
        rotate(-45deg);
}

/*=============================================
                Mobile Menu End
=============================================*/


/*=============================================
                Header Tablet Start
=============================================*/

@media (max-width: 1200px) {

    .site-header-inner {
        gap:
            11px;
    }


    .main-navigation a {
        padding:
            9px 7px;

        font-size:
            12px;
    }


    .header-play {
        padding:
            0 17px;
    }

}

/*=============================================
                 Header Tablet End
=============================================*/


/*=============================================
                Header Mobile Start
=============================================*/

@media (max-width: 980px) {

    :root {
        --header-height:
            68px;
    }


    .site-header-inner {
        width:
            min(
                calc(100% - 24px),
                var(--container-width)
            );
    }


    .nav-toggle {
        display:
            block;
    }


    .main-navigation {
        position:
            absolute;

        top:
            100%;

        left:
            12px;

        right:
            12px;

        margin:
            0;

        display:
            flex;

        flex-direction:
            column;

        align-items:
            stretch;

        gap:
            3px;

        max-height:
            0;

        padding:
            0 10px;

        overflow:
            hidden;

        opacity:
            0;

        pointer-events:
            none;

        background:
            rgba(4, 7, 42, 0.99);

        border:
            1px solid
            transparent;

        border-radius:
            0 0 16px 16px;

        box-shadow:
            0 20px 45px
            rgba(0, 0, 0, 0.42);

        transition:
            max-height var(--transition-main),
            padding var(--transition-main),
            opacity var(--transition-main);
    }


    .main-navigation.is-open {
        max-height:
            520px;

        padding:
            12px;

        opacity:
            1;

        pointer-events:
            auto;

        border-color:
            rgba(22, 217, 255, 0.16);
    }


    .main-navigation a {
        padding:
            12px 14px;

        font-size:
            14px;
    }


    .main-navigation a.is-active::after {
        display:
            none;
    }

}


@media (max-width: 540px) {

    .site-logo-text strong {
        font-size:
            15px;
    }


    .site-logo-text small {
        font-size:
            8px;
    }


    .site-logo-mark {
        width:
            42px;

        height:
            42px;

        font-size:
            22px;
    }


    .header-play {
        min-height:
            40px;

        padding:
            0 13px;

        font-size:
            12px;
    }

}


@media (max-width: 410px) {

    .site-logo-text {
        display:
            none;
    }

}

/*=============================================
                 Header Mobile End
=============================================*/


/*=============================================
                   Header End
=============================================*/
/*=============================================
                    Hero Start
=============================================*/

.casino-hero {
    position: relative;

    margin-top:
        var(--header-height);

    min-height:
        calc(100vh - var(--header-height));

    min-height:
        calc(100svh - var(--header-height));

    overflow:
        hidden;

    isolation:
        isolate;

    background:
        #04072a;
}


/*=============================================
              Hero Background Start
=============================================*/

.hero-background {
    position:
        absolute;

    inset:
        0;

    z-index:
        -3;

    background-image:
        url("../images/hero.webp");

    background-repeat:
        no-repeat;

    background-position:
        center center;

    background-size:
        cover;
}


.hero-overlay {
    position:
        absolute;

    inset:
        0;

    z-index:
        -2;

    background:
        linear-gradient(
            90deg,
            rgba(4, 7, 42, 0.98) 0%,
            rgba(4, 8, 43, 0.92) 27%,
            rgba(4, 8, 43, 0.67) 43%,
            rgba(4, 8, 43, 0.20) 63%,
            rgba(4, 7, 42, 0.05) 100%
        );
}

/*=============================================
               Hero Background End
=============================================*/


/*=============================================
               Hero Container Start
=============================================*/

.hero-container {
    width:
        min(
            calc(100% - 80px),
            var(--container-width)
        );

    min-height:
        calc(100vh - var(--header-height));

    min-height:
        calc(100svh - var(--header-height));

    margin:
        0 auto;

    padding:
        clamp(76px, 8vh, 110px)
        0
        40px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;
}

/*=============================================
                Hero Container End
=============================================*/


/*=============================================
                  Hero Copy Start
=============================================*/

.hero-copy {
    width:
        min(
            720px,
            100%
        );
}


.hero-kicker {
    display:
        inline-block;

    margin-bottom:
        10px;

    color:
        var(--blue-light);

    font-size:
        14px;

    font-weight:
        900;

    letter-spacing:
        0.28em;

    text-transform:
        uppercase;

    text-shadow:
        0 0 20px
        rgba(22, 217, 255, 0.44);
}


.hero-copy h1 {
    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            54px,
            5.7vw,
            88px
        );

    font-weight:
        900;

    line-height:
        0.98;

    letter-spacing:
        -0.045em;

    text-shadow:
        0 8px 32px
        rgba(0, 0, 0, 0.52);
}


.hero-copy h1::after {
    content:
        "";

    display:
        inline-block;

    width:
        0.21em;

    height:
        0.21em;

    margin-left:
        0.07em;

    border-radius:
        50%;

    vertical-align:
        0.12em;

    background:
        var(--coral-main);

    box-shadow:
        0 0 21px
        rgba(255, 112, 79, 0.62);
}


.hero-tagline {
    max-width:
        680px;

    margin:
        19px 0 0;

    color:
        #ffffff;

    font-size:
        clamp(
            21px,
            1.75vw,
            28px
        );

    font-weight:
        900;

    line-height:
        1.3;
}


.hero-description {
    max-width:
        690px;

    margin:
        14px 0 0;

    color:
        var(--text-secondary);

    font-size:
        16px;

    font-weight:
        500;

    line-height:
        1.65;
}


.hero-play {
    min-width:
        210px;

    min-height:
        54px;

    margin-top:
        23px;

    padding:
        0 34px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        rgba(255, 225, 132, 0.94);

    border-radius:
        12px;

    background:
        linear-gradient(
            135deg,
            #ffe477 0%,
            #ffc43a 48%,
            #ec9e18 100%
        );

    color:
        #09102e;

    font-size:
        16px;

    font-weight:
        900;

    box-shadow:
        0 0 30px
        rgba(255, 195, 61, 0.35);

    transition:
        transform var(--transition-fast),
        box-shadow var(--transition-fast),
        filter var(--transition-fast);
}


.hero-play:hover,
.hero-play:focus-visible {
    transform:
        translateY(-3px);

    box-shadow:
        0 0 43px
        rgba(255, 195, 61, 0.54);

    filter:
        brightness(1.08);
}

/*=============================================
                   Hero Copy End
=============================================*/


/*=============================================
              Hero Categories Start
=============================================*/

.hero-categories {
    width:
        742px;

    max-width:
        100%;

    margin:
        34px 0 0;

    padding:
        0;

    display:
        grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap:
        12px;

    align-items:
        start;
}


.hero-category-card {
    position:
        relative;

    grid-column:
        span 2;

    display:
        block;

    width:
        100%;

    aspect-ratio:
        2.7 / 1;

    overflow:
        hidden;

    border:
        1px solid
        rgba(93, 215, 255, 0.42);

    border-radius:
        13px;

    background:
        #07113d;

    box-shadow:
        0 10px 24px
        rgba(0, 0, 0, 0.38),
        0 0 14px
        rgba(22, 217, 255, 0.10);

    cursor:
        pointer;

    transition:
        transform var(--transition-main),
        border-color var(--transition-main),
        box-shadow var(--transition-main),
        filter var(--transition-main);
}


.hero-category-card:nth-child(2),
.hero-category-card:nth-child(4) {
    border-color:
        rgba(255, 200, 80, 0.44);

    box-shadow:
        0 10px 24px
        rgba(0, 0, 0, 0.38),
        0 0 14px
        rgba(255, 195, 61, 0.10);
}


.hero-category-card:nth-child(4) {
    grid-column:
        2 / span 2;
}


.hero-category-card:nth-child(5) {
    grid-column:
        4 / span 2;
}


.hero-category-card img {
    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center;

    filter:
        brightness(0.93)
        saturate(0.92);

    transition:
        transform 0.45s ease,
        filter 0.45s ease;
}


.hero-category-card::before {
    display:
        none;
}


.hero-category-card::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        1;

    pointer-events:
        none;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.05) 0%,
            transparent 35%,
            transparent 100%
        );
}


.hero-category-label {
    display:
        none;
}


.hero-category-card:hover,
.hero-category-card:focus-visible,
.hero-category-card.is-active {
    transform:
        translateY(-5px);

    border-color:
        rgba(117, 237, 255, 0.92);

    box-shadow:
        0 16px 32px
        rgba(0, 0, 0, 0.46),
        0 0 24px
        rgba(22, 217, 255, 0.30);

    outline:
        none;
}


.hero-category-card:nth-child(2):hover,
.hero-category-card:nth-child(2):focus-visible,
.hero-category-card:nth-child(2).is-active,
.hero-category-card:nth-child(4):hover,
.hero-category-card:nth-child(4):focus-visible,
.hero-category-card:nth-child(4).is-active {
    border-color:
        rgba(255, 225, 132, 0.92);

    box-shadow:
        0 16px 32px
        rgba(0, 0, 0, 0.46),
        0 0 24px
        rgba(255, 195, 61, 0.28);
}


.hero-category-card:hover img,
.hero-category-card:focus-visible img,
.hero-category-card.is-active img {
    transform:
        scale(1.035);

    filter:
        brightness(1.06)
        saturate(1.02);
}

/*=============================================
               Hero Categories End
=============================================*/


/*=============================================
                 Hero Tablet Start
=============================================*/

@media (max-width: 1180px) {

    .casino-hero {
        min-height:
            auto;
    }


    .hero-container {
        min-height:
            auto;

        padding:
            62px 0 44px;
    }


    .hero-categories {
        width:
            min(
                700px,
                100%
            );

        margin-top:
            34px;
    }

}

/*=============================================
                  Hero Tablet End
=============================================*/


/*=============================================
                 Hero Mobile Start
=============================================*/

@media (max-width: 820px) {

    .hero-background {
        background-position:
            63% center;
    }


    .hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(4, 7, 42, 0.78) 0%,
                rgba(4, 7, 42, 0.89) 52%,
                rgba(4, 7, 42, 0.98) 100%
            );
    }


    .hero-container {
        width:
            calc(100% - 28px);

        padding:
            42px 0 35px;
    }


    .hero-copy {
        width:
            min(
                620px,
                100%
            );
    }


    .hero-copy h1 {
        font-size:
            clamp(
                45px,
                12vw,
                66px
            );
    }


    .hero-description {
        font-size:
            15px;
    }


    .hero-categories {
        width:
            100%;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            10px;
    }


    .hero-category-card,
    .hero-category-card:nth-child(4),
    .hero-category-card:nth-child(5) {
        grid-column:
            auto;
    }


    .hero-category-card:nth-child(5) {
        grid-column:
            1 / -1;

        justify-self:
            center;

        width:
            calc(50% - 5px);
    }

}


@media (max-width: 540px) {

    .hero-container {
        padding:
            35px 0 29px;
    }


    .hero-kicker {
        font-size:
            11px;

        letter-spacing:
            0.19em;
    }


    .hero-copy h1 {
        font-size:
            43px;
    }


    .hero-tagline {
        margin-top:
            16px;

        font-size:
            19px;
    }


    .hero-description {
        font-size:
            14px;

        line-height:
            1.6;
    }


    .hero-play {
        width:
            100%;

        max-width:
            290px;

        min-height:
            51px;
    }


    .hero-categories {
        margin-top:
            30px;

        display:
            flex;

        gap:
            11px;

        overflow-x:
            auto;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            thin;

        scrollbar-color:
            rgba(22, 217, 255, 0.50)
            transparent;

        padding:
            4px 2px 13px;
    }


    .hero-category-card,
    .hero-category-card:nth-child(4),
    .hero-category-card:nth-child(5) {
        width:
            245px;

        min-width:
            245px;

        flex:
            0 0 245px;

        scroll-snap-align:
            start;
    }

}

/*=============================================
                  Hero Mobile End
=============================================*/


/*=============================================
                     Hero End
=============================================*/
/*=============================================
                  Games Start
=============================================*/

.games-section {
    position: relative;
    padding: 44px 20px 64px;
    overflow: visible;
    color: #ffffff;

    background:
        radial-gradient(
            circle at 7% 8%,
            rgba(0, 224, 255, 0.16),
            transparent 27%
        ),
        radial-gradient(
            circle at 92% 8%,
            rgba(116, 73, 255, 0.20),
            transparent 30%
        ),
        radial-gradient(
            circle at 72% 75%,
            rgba(255, 188, 38, 0.07),
            transparent 24%
        ),
        linear-gradient(
            180deg,
            #050817 0%,
            #081026 42%,
            #100922 72%,
            #060817 100%
        );
}

.games-section[hidden] {
    display: none !important;
}

.games-container {
    position: relative;
    width: min(calc(100% - 8px), 1320px);
    margin: 0 auto;
}


/*=============================================
               Floating Navigation
=============================================*/

.games-site-navigation {
    position: absolute;
    top: 0;
    left: -166px;
    width: 140px;
    z-index: 80;
    pointer-events: none;
}

.games-site-switcher {
    width: 140px;
    padding: 0;

    display: flex;
    flex-direction: column;
    gap: 7px;

    border: 0;
    border-radius: 0;

    background: transparent;

    box-shadow: none;
    backdrop-filter: none;

    pointer-events: auto;
}

.games-site-navigation.is-floating {
    position: fixed;

    top: 50%;

    left:
        max(
            18px,
            calc(
                50% -
                660px -
                166px
            )
        );

    transform: translateY(-50%);
}

.games-site-navigation.is-at-bottom {
    position: absolute;
    top: auto;
    bottom: 0;
    left: -166px;
    transform: none;
}


/*=============================================
          Floating Navigation Buttons
=============================================*/

.games-site-switcher-button {
    position: relative;

    width: 100%;
    min-height: 47px;

    padding: 7px 9px;

    overflow: hidden;

    border:
        1px solid
        rgba(83, 233, 255, 0.92);

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #1045a8 0%,
            #087fd3 48%,
            #11d4ea 100%
        );

    color: #ffffff;

    font: inherit;

    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;

    text-align: center;

    cursor: pointer;

    text-shadow:
        0 2px 6px
        rgba(0, 0, 0, 0.34);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.18),

        0 7px 17px
        rgba(0, 0, 0, 0.24),

        0 0 18px
        rgba(24, 217, 255, 0.19);

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease;
}

.games-site-switcher-button::before {
    content: "";

    position: absolute;

    width: 78px;
    height: 78px;

    right: -32px;
    top: -42px;

    border-radius: 50%;

    background:
        rgba(164, 91, 255, 0.24);

    pointer-events: none;
}

.games-site-switcher-button:hover,
.games-site-switcher-button:focus-visible {
    transform: translateX(4px);

    border-color: #b6f9ff;

    background:
        linear-gradient(
            135deg,
            #1459c7 0%,
            #0ca7e5 48%,
            #27e0ec 100%
        );

    box-shadow:
        0 9px 21px
        rgba(0, 0, 0, 0.26),

        0 0 25px
        rgba(35, 225, 255, 0.40);

    filter: brightness(1.08);

    outline: none;
}

.games-site-switcher-button.is-active {
    transform: translateX(4px);

    border-color: #fff4a5;

    background:
        linear-gradient(
            135deg,
            #fff18e 0%,
            #ffd04a 44%,
            #f3a310 100%
        );

    color: #0b1224;

    text-shadow: none;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 28px
        rgba(255, 196, 42, 0.46),

        inset 0 1px 0
        rgba(255, 255, 255, 0.55);
}


/*=============================================
                     Intro
=============================================*/

.games-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 0.90fr)
        minmax(0, 1.10fr);

    gap: 40px;

    align-items: center;

    margin-bottom: 22px;

    padding:
        24px
        30px;

    border:
        1px solid
        rgba(74, 145, 255, 0.26);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(27, 218, 255, 0.08),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            rgba(8, 25, 57, 0.94),
            rgba(20, 19, 54, 0.96) 52%,
            rgba(39, 16, 60, 0.95)
        );

    box-shadow:
        0 18px 42px
        rgba(0, 0, 0, 0.25);
}

.games-intro-heading {
    align-self: center;
}

.games-kicker,
.games-panel-kicker {
    margin: 0 0 8px;

    color: #38e3ff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.3;

    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.games-intro h2 {
    max-width: 630px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            38px,
            4vw,
            58px
        );

    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.045em;
}

.games-intro-copy p {
    margin: 0;

    color: #c2c9d7;

    font-size: 14px;
    line-height: 1.58;
}

.games-intro-copy p + p {
    margin-top: 8px;
}

.games-intro-copy .games-intro-lead {
    color: #ffffff;

    font-size: 16px;
    font-weight: 800;
    line-height: 1.5;
}


/*=============================================
             Main Game Categories
=============================================*/

.games-navigation {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 9px;

    margin-bottom: 14px;
}

.games-navigation-button {
    position: relative;

    min-height: 68px;

    padding:
        10px
        13px;

    display: flex;
    align-items: center;
    gap: 10px;

    overflow: hidden;

    border:
        1px solid
        rgba(83, 196, 255, 0.55);

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            #123e83 0%,
            #2059a3 48%,
            #4c32a1 100%
        );

    color: #ffffff;

    text-align: left;

    cursor: pointer;

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.12),

        0 9px 22px
        rgba(0, 0, 0, 0.24);

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease;
}

.games-navigation-button::after {
    content: "";

    position: absolute;

    width: 105px;
    height: 105px;

    right: -47px;
    top: -57px;

    border-radius: 50%;

    background:
        rgba(77, 227, 255, 0.10);

    pointer-events: none;
}

.games-navigation-button:hover,
.games-navigation-button:focus-visible {
    transform: translateY(-3px);

    border-color: #8ff3ff;

    filter: brightness(1.10);

    box-shadow:
        0 13px 28px
        rgba(0, 0, 0, 0.30),

        0 0 22px
        rgba(48, 217, 255, 0.22);

    outline: none;
}


/* Slots */

.games-navigation-button[data-games-target="slots"] {
    background:
        linear-gradient(
            135deg,
            #0c4b96,
            #176ec0,
            #5131a0
        );
}


/* Live */

.games-navigation-button[data-games-target="live"] {
    background:
        linear-gradient(
            135deg,
            #3d2388,
            #7546d3,
            #2182d5
        );
}


/* Tables */

.games-navigation-button[data-games-target="tables"] {
    background:
        linear-gradient(
            135deg,
            #08739e,
            #12a7c9,
            #2d5bd0
        );
}


/* Instant */

.games-navigation-button[data-games-target="instant"] {
    background:
        linear-gradient(
            135deg,
            #6030a3,
            #9150dc,
            #455dd6
        );
}


/* Bingo */

.games-navigation-button[data-games-target="bingo"] {
    background:
        linear-gradient(
            135deg,
            #a52c76,
            #df4a9b,
            #7241c7
        );
}


/* Macau */

.games-navigation-button[data-games-target="macau"] {
    background:
        linear-gradient(
            135deg,
            #a74718,
            #ef7724,
            #9e477e
        );
}


/* Virtual */

.games-navigation-button[data-games-target="virtual-sports"] {
    background:
        linear-gradient(
            135deg,
            #087c80,
            #14b7a5,
            #2470cb
        );
}


/* Icons */

.games-navigation-button[data-games-target="icons"] {
    background:
        linear-gradient(
            135deg,
            #77368d,
            #ad51c1,
            #5166dc
        );
}


/* Active */

.games-navigation-button.is-active {
    transform: translateY(-2px);

    border-color: #fff4a0;

    background:
        linear-gradient(
            135deg,
            #fff082 0%,
            #ffcb39 52%,
            #efa108 100%
        );

    color: #0b1020;

    box-shadow:
        0 12px 29px
        rgba(0, 0, 0, 0.31),

        0 0 28px
        rgba(255, 194, 42, 0.43),

        inset 0 1px 0
        rgba(255, 255, 255, 0.54);
}

.games-nav-icon {
    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    flex: 0 0 36px;

    border-radius: 10px;

    background:
        rgba(255, 255, 255, 0.12);

    color: #65f0ff;

    font-size: 15px;
    font-weight: 900;
}

.games-navigation-button.is-active
.games-nav-icon {
    background:
        rgba(10, 14, 27, 0.11);

    color: #111322;
}

.games-navigation-button strong {
    display: block;

    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
}

.games-navigation-button small {
    display: block;

    margin-top: 3px;

    color: inherit;

    font-size: 9px;
    font-weight: 700;
    line-height: 1.25;

    opacity: 0.85;
}


/*=============================================
                 Games Stage
=============================================*/

.games-stage {
    --games-accent: #2bdcff;
    --games-accent-dark: #0783ac;
    --games-accent-soft: #15384a;

    padding: 22px;

    border:
        1px solid
        rgba(66, 176, 255, 0.24);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 94% 6%,
            color-mix(
                in srgb,
                var(--games-accent) 13%,
                transparent
            ),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            #0a1731 0%,
            #14172f 48%,
            #170f29 100%
        );

    box-shadow:
        0 18px 43px
        rgba(0, 0, 0, 0.28);
}

.games-stage[data-games-theme="slots"] {
    --games-accent: #2ce0ff;
    --games-accent-dark: #087fa8;
}

.games-stage[data-games-theme="live"] {
    --games-accent: #b080ff;
    --games-accent-dark: #7046ca;
}

.games-stage[data-games-theme="tables"] {
    --games-accent: #57caff;
    --games-accent-dark: #287ab6;
}

.games-stage[data-games-theme="instant"] {
    --games-accent: #ae8cff;
    --games-accent-dark: #6b52c5;
}

.games-stage[data-games-theme="bingo"] {
    --games-accent: #ff83c6;
    --games-accent-dark: #bf498b;
}

.games-stage[data-games-theme="macau"] {
    --games-accent: #ffa750;
    --games-accent-dark: #cc6b24;
}

.games-stage[data-games-theme="virtual-sports"] {
    --games-accent: #61ead8;
    --games-accent-dark: #289f91;
}

.games-stage[data-games-theme="icons"] {
    --games-accent: #ffd45a;
    --games-accent-dark: #cc8f11;
}


/*=============================================
                 Hidden States
=============================================*/

.games-panel[hidden],
.games-subpanel[hidden],
.game-detail[hidden],
.games-guide[hidden] {
    display: none !important;
}


/*=============================================
                 Panel Heading
=============================================*/

.games-panel-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 0.82fr)
        minmax(0, 1.18fr);

    gap: 34px;

    padding:
        1px
        4px
        18px;

    border-bottom:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 24%,
            transparent
        );
}

.games-panel-kicker {
    color:
        var(--games-accent);
}

.games-panel-heading h3 {
    max-width: 630px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            27px,
            2.5vw,
            39px
        );

    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.035em;
}

.games-panel-copy p {
    margin: 0;

    color: #c0c9d6;

    font-size: 13px;
    line-height: 1.55;
}

.games-panel-copy p + p {
    margin-top: 7px;
}

.games-panel-copy .games-panel-lead {
    color: #ffffff;

    font-size: 14px;
    font-weight: 800;
    line-height: 1.52;
}


/*=============================================
               Category Layout
=============================================*/

.games-category-layout {
    display: grid;

    grid-template-columns:
        165px
        minmax(0, 1fr);

    gap: 14px;

    align-items: start;

    margin-top: 17px;
}


/*=============================================
               Sub Navigation
=============================================*/

.games-subnav {
    display: grid;

    gap: 6px;

    padding: 0;

    border: 0;

    border-radius: 0;

    background: transparent;

    box-shadow: none;
}

.games-subnav-button {
    position: relative;

    min-height: 45px;

    padding:
        8px
        10px
        8px
        13px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 38%,
            transparent
        );

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #173966,
            #492973
        );

    color: #ffffff;

    font: inherit;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;

    text-align: left;

    cursor: pointer;

    box-shadow:
        0 5px 12px
        rgba(0, 0, 0, 0.18);

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease;
}

.games-subnav-button::before {
    content: "";

    position: absolute;

    left: 0;
    top: 7px;
    bottom: 7px;

    width: 4px;

    border-radius:
        0
        4px
        4px
        0;

    background: transparent;
}

.games-subnav-button:hover,
.games-subnav-button:focus-visible {
    transform: translateX(3px);

    border-color:
        var(--games-accent);

    filter: brightness(1.07);

    outline: none;
}

.games-subnav-button.is-active {
    transform: translateX(2px);

    border-color:
        color-mix(
            in srgb,
            var(--games-accent) 82%,
            #ffffff
        );

    background:
        linear-gradient(
            135deg,
            color-mix(
                in srgb,
                var(--games-accent) 78%,
                #153458
            ),
            var(--games-accent-dark)
        );

    box-shadow:
        0 0 18px
        color-mix(
            in srgb,
            var(--games-accent) 30%,
            transparent
        );
}

.games-subnav-button.is-active::before {
    background: #ffe47a;
}


/*=============================================
                Subpanel Content
=============================================*/

.games-subpanels {
    min-width: 0;
}

.games-subpanel {
    padding: 0;

    border: 0;

    border-radius: 0;

    background: transparent;

    box-shadow: none;
}


/*=============================================
               Subpanel Heading
=============================================*/

.games-subpanel-head {
    min-height: 52px;

    padding:
        0
        0
        9px;

    display: grid;

    grid-template-columns:
        minmax(260px, 0.85fr)
        minmax(0, 1.15fr);

    gap: 20px;

    align-items: end;

    border-bottom:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 25%,
            transparent
        );
}

.games-subpanel-head > div > strong {
    display: block;

    color:
        var(--games-accent);

    font-size: 18px;
    font-weight: 900;
}

.games-subpanel-head > div > p {
    margin: 4px 0 0;

    color: #c2cad7;

    font-size: 12px;
    line-height: 1.4;
}

.games-subpanel-head > span {
    display: block;

    color: #a7afbd;

    font-size: 11px;
    line-height: 1.42;

    text-align: right;
}


/*=============================================
                   Game Grid
=============================================*/

.games-grid-row {
    width: 100%;
}

.games-grid {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 8px;

    margin-top: 10px;

    align-items: start;
}

.game-card {
    min-width: 0;
    padding: 0;

    overflow: hidden;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 33%,
            transparent
        );

    border-radius: 12px;

    background:
        #0c1427;

    color: #ffffff;

    text-align: left;

    cursor: pointer;

    box-shadow:
        0 7px 18px
        rgba(0, 0, 0, 0.26);

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease;
}

.game-card:hover,
.game-card:focus-visible {
    transform: translateY(-4px);

    border-color:
        color-mix(
            in srgb,
            var(--games-accent) 82%,
            #ffffff
        );

    box-shadow:
        0 12px 24px
        rgba(0, 0, 0, 0.32),

        0 0 16px
        color-mix(
            in srgb,
            var(--games-accent) 20%,
            transparent
        );

    filter: brightness(1.06);

    outline: none;
}

.game-card.is-active {
    transform: translateY(-4px);

    border-color:
        var(--games-accent);

    box-shadow:
        0 0 0 2px
        color-mix(
            in srgb,
            var(--games-accent) 32%,
            transparent
        ),

        0 13px 26px
        rgba(0, 0, 0, 0.34),

        0 0 19px
        color-mix(
            in srgb,
            var(--games-accent) 25%,
            transparent
        );
}

.game-card img {
    display: block;

    width: 100%;

    aspect-ratio: 4 / 4.55;

    object-fit: cover;

    background:
        var(--games-accent-soft);
}

.game-card-copy {
    min-height: 52px;

    padding:
        7px
        8px
        8px;

    display: block;

    border-top:
        2px solid
        var(--games-accent);

    background:
        linear-gradient(
            180deg,
            #141c34,
            #0a1021
        );
}

.game-card-copy strong {
    display: block;

    color: #ffffff;

    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
}

.game-card-copy small {
    display: block;

    margin-top: 3px;

    color:
        var(--games-accent);

    font-size: 8px;
    font-weight: 800;
    line-height: 1.2;
}


/*=============================================
                  Game Details
=============================================*/

.game-details {
    width: 100%;
}

.game-detail {
    margin-top: 10px;

    padding:
        14px
        17px;

    display: grid;

    grid-template-columns:
        minmax(180px, 0.30fr)
        minmax(0, 1.70fr);

    gap: 22px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 33%,
            transparent
        );

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #0f1a34,
            #161027
        );

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.24);
}

.game-detail-title span {
    display: block;

    margin-bottom: 5px;

    color:
        var(--games-accent);

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.game-detail-title h4 {
    margin: 0;

    color: #ffffff;

    font-size: 20px;
    font-weight: 900;
    line-height: 1.05;
}

.game-detail-copy p {
    margin: 0;

    color: #c5ccd8;

    font-size: 12px;
    line-height: 1.5;
}

.game-detail-copy p + p {
    margin-top: 6px;
}


/*=============================================
               Section Questions
=============================================*/

.games-guide-toggle {
    width: 100%;

    min-height: 48px;

    margin-top: 13px;

    padding:
        0
        13px
        0
        15px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 16px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 48%,
            transparent
        );

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #173e6e,
            #4d2c78
        );

    color: #ffffff;

    font: inherit;

    font-size: 12px;
    font-weight: 900;

    text-align: left;

    cursor: pointer;
}

.games-guide-toggle > span {
    width: 27px;
    height: 27px;

    display: grid;
    place-items: center;

    flex-shrink: 0;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #ffe77c,
            #ffc12d
        );

    color: #111523;

    font-size: 17px;
    font-weight: 900;

    transition:
        transform 0.18s ease;
}

.games-guide-toggle.is-open > span {
    transform:
        rotate(45deg);
}

.games-guide {
    margin-top: 8px;

    padding: 16px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 24%,
            transparent
        );

    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #0a162c,
            #1a112b
        );
}

.games-guide h4 {
    margin:
        0
        0
        12px;

    color:
        var(--games-accent);

    font-size: 18px;
    font-weight: 900;
}

.games-guide-questions {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 8px;
}

.games-guide-item {
    padding:
        11px
        12px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--games-accent) 20%,
            transparent
        );

    border-radius: 9px;

    background:
        rgba(255, 255, 255, 0.025);
}

.games-guide-item strong {
    display: block;

    color: #ffffff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.3;
}

.games-guide-item p {
    margin:
        5px
        0
        0;

    color:
        #b7c0ce;

    font-size: 10px;
    line-height: 1.45;
}


/*=============================================
                    Closing
=============================================*/

.games-closing {
    display: grid;

    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.2fr);

    gap: 34px;

    margin-top: 22px;

    padding:
        18px
        22px;

    border:
        1px solid
        rgba(90, 153, 255, 0.24);

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            #0b1730,
            #24143c
        );

    box-shadow:
        0 13px 31px
        rgba(0, 0, 0, 0.24);
}

.games-closing .games-kicker {
    color: #ffd45b;
}

.games-closing h3 {
    max-width: 540px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            25px,
            2.5vw,
            36px
        );

    font-weight: 900;
    line-height: 1.05;
}

.games-closing > div:last-child p {
    margin: 0;

    color: #c3ccd8;

    font-size: 11px;
    line-height: 1.52;
}

.games-closing > div:last-child p + p {
    margin-top: 6px;
}


/*=============================================
                  Responsive
=============================================*/

@media (max-width: 1220px) {

    .games-site-navigation,
    .games-site-navigation.is-floating,
    .games-site-navigation.is-at-bottom {
        position: static;

        width: 100%;

        margin-bottom: 20px;

        transform: none;

        pointer-events: auto;
    }

    .games-site-switcher {
        width: 100%;

        flex-direction: row;

        gap: 7px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .games-site-switcher::-webkit-scrollbar {
        display: none;
    }

    .games-site-switcher-button {
        min-width: 135px;

        flex: 0 0 auto;
    }

    .games-intro,
    .games-panel-heading,
    .games-subpanel-head {
        grid-template-columns: 1fr;
    }

    .games-intro {
        gap: 20px;
    }

    .games-panel-heading {
        gap: 14px;
    }

    .games-subpanel-head {
        gap: 10px;
    }

    .games-subpanel-head > span {
        text-align: left;
    }

    .games-navigation {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

    .games-category-layout {
        grid-template-columns:
            150px
            minmax(0, 1fr);
    }

    .games-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .games-navigation {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .games-category-layout {
        grid-template-columns: 1fr;
    }

    .games-subnav {
        display: flex;

        gap: 7px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .games-subnav::-webkit-scrollbar {
        display: none;
    }

    .games-subnav-button {
        min-width: 145px;

        flex: 0 0 auto;
    }

    .game-detail {
        grid-template-columns: 1fr;

        gap: 9px;
    }

}


@media (max-width: 760px) {

    .games-section {
        padding:
            28px
            12px
            54px;
    }

    .games-container {
        width: 100%;
    }

    .games-intro {
        padding:
            20px
            18px;
    }

    .games-intro h2 {
        font-size:
            clamp(
                34px,
                9vw,
                48px
            );
    }

    .games-navigation {
        display: flex;

        gap: 7px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .games-navigation::-webkit-scrollbar {
        display: none;
    }

    .games-navigation-button {
        min-width: 175px;

        min-height: 66px;

        flex: 0 0 auto;
    }

    .games-stage {
        padding:
            16px
            12px;
    }

    .games-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .games-guide-questions {
        grid-template-columns: 1fr;
    }

    .games-closing {
        grid-template-columns: 1fr;

        gap: 12px;

        padding:
            18px
            16px;
    }

}


@media (max-width: 460px) {

    .games-navigation-button {
        min-width: 160px;
    }

    .games-site-switcher-button {
        min-width: 125px;
    }

    .game-card-copy strong {
        font-size: 10px;
    }

}


/*=============================================
             Reduced Motion Support
=============================================*/

@media (prefers-reduced-motion: reduce) {

    .games-site-switcher-button,
    .games-navigation-button,
    .games-subnav-button,
    .game-card,
    .games-guide-toggle,
    .games-guide-toggle > span {
        transition: none;
    }

}


/*=============================================
                   Games End
=============================================*/

/*=============================================
                  Bonuses Start
=============================================*/

.bonus-section {
    position: relative;
    padding: 52px 20px 72px;
    overflow: visible;
    color: #ffffff;

    background:
        radial-gradient(
            circle at 7% 8%,
            rgba(0, 224, 255, 0.16),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 10%,
            rgba(127, 71, 255, 0.21),
            transparent 30%
        ),
        radial-gradient(
            circle at 72% 80%,
            rgba(255, 188, 35, 0.08),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #050817 0%,
            #081027 44%,
            #110a24 76%,
            #060817 100%
        );
}

.bonus-section[hidden] {
    display: none !important;
}

.bonus-container {
    position: relative;
    width: min(calc(100% - 8px), 1320px);
    margin: 0 auto;
}

.bonus-shell {
    position: relative;
    width: 100%;
}

.bonus-main {
    width: 100%;
    min-width: 0;
}


/*=============================================
              Section Navigation
=============================================*/

.bonus-navigation {
    position: absolute;
    top: 0;
    left: -166px;
    width: 140px;
    z-index: 80;
    pointer-events: none;
}

.bonus-section-switcher {
    width: 140px;

    display: flex;
    flex-direction: column;
    gap: 7px;

    pointer-events: auto;
}

.bonus-navigation.is-floating {
    position: fixed;
    top: 50%;

    left:
        max(
            18px,
            calc(
                50% -
                660px -
                166px
            )
        );

    transform: translateY(-50%);
}

.bonus-navigation.is-at-bottom {
    position: absolute;
    top: auto;
    bottom: 0;
    left: -166px;
    transform: none;
}

.bonus-section-switcher-button {
    position: relative;

    width: 100%;
    min-height: 48px;

    padding: 8px 9px;

    overflow: hidden;

    border:
        1px solid
        rgba(83, 233, 255, 0.94);

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #1046ac 0%,
            #087fd7 48%,
            #11d7ec 100%
        );

    color: #ffffff;

    font: inherit;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;

    text-align: center;

    cursor: pointer;

    text-shadow:
        0 2px 6px
        rgba(0, 0, 0, 0.34);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.18),

        0 7px 17px
        rgba(0, 0, 0, 0.24),

        0 0 18px
        rgba(24, 217, 255, 0.20);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.bonus-section-switcher-button::before {
    content: "";

    position: absolute;

    width: 76px;
    height: 76px;

    right: -31px;
    top: -41px;

    border-radius: 50%;

    background:
        rgba(154, 91, 255, 0.24);

    pointer-events: none;
}

.bonus-section-switcher-button:hover,
.bonus-section-switcher-button:focus-visible {
    transform: translateX(4px);

    border-color: #b7f9ff;

    filter: brightness(1.10);

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 27px
        rgba(35, 225, 255, 0.42);

    outline: none;
}

.bonus-section-switcher-button.is-active {
    transform: translateX(4px);

    border-color: #fff4a5;

    background:
        linear-gradient(
            135deg,
            #fff18e 0%,
            #ffd047 45%,
            #f1a20e 100%
        );

    color: #0b1224;

    text-shadow: none;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 28px
        rgba(255, 196, 42, 0.46),

        inset 0 1px 0
        rgba(255, 255, 255, 0.55);
}


/*=============================================
                   Introduction
=============================================*/

.bonus-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.06fr)
        minmax(360px, 0.62fr);

    gap: 42px;

    align-items: center;

    margin-bottom: 26px;
}

.bonus-eyebrow,
.bonus-panel-kicker {
    display: block;

    margin-bottom: 9px;

    color: #48e5ff;

    font-size: 12px;
    font-weight: 900;
    line-height: 1.3;

    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.bonus-intro h2 {
    max-width: 850px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            42px,
            4.25vw,
            62px
        );

    font-weight: 900;
    line-height: 1.01;
    letter-spacing: -0.045em;
}

.bonus-intro-copy p {
    max-width: 860px;

    margin: 11px 0 0;

    color: #c8d0dc;

    font-size: 16px;
    line-height: 1.65;
}

.bonus-intro-copy .bonus-intro-lead {
    color: #ffffff;

    font-size: 18px;
    font-weight: 800;
    line-height: 1.58;
}


/*=============================================
                    Bonus Image
=============================================*/

.bonus-intro-media {
    position: relative;

    margin: 0;

    min-height: 315px;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 203, 58, 0.62);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #07132f,
            #111b4a
        );

    box-shadow:
        0 23px 52px
        rgba(0, 0, 0, 0.34),

        0 0 28px
        rgba(255, 196, 40, 0.11);
}

.bonus-intro-media::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            transparent 46%,
            rgba(5, 8, 24, 0.22) 65%,
            rgba(5, 8, 24, 0.93) 100%
        );

    pointer-events: none;
}

.bonus-intro-media img {
    display: block;

    width: 100%;
    height: 315px;

    object-fit: cover;

    object-position:
        68% center;

    filter:
        brightness(0.96)
        saturate(1.08);
}

.bonus-intro-media figcaption {
    position: absolute;

    z-index: 2;

    left: 22px;
    right: 22px;
    bottom: 19px;

    max-width: 325px;

    padding:
        11px
        14px;

    border-left:
        3px solid
        #ffd24b;

    border-radius:
        0
        10px
        10px
        0;

    background:
        linear-gradient(
            90deg,
            rgba(5, 11, 31, 0.92),
            rgba(5, 11, 31, 0.65) 67%,
            rgba(5, 11, 31, 0)
        );

    text-shadow:
        0 2px 8px
        rgba(0, 0, 0, 0.68);
}

.bonus-intro-media figcaption span,
.bonus-intro-media figcaption strong,
.bonus-intro-media figcaption b,
.bonus-intro-media figcaption small {
    display: block;
}

.bonus-intro-media figcaption span {
    color: #75efff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bonus-intro-media figcaption strong {
    margin-top: 6px;

    color: #ffffff;

    font-size: 29px;
    font-weight: 900;
    line-height: 1.06;
}

.bonus-intro-media figcaption b {
    margin-top: 5px;

    color: #ffd24b;

    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
}

.bonus-intro-media figcaption small {
    margin-top: 6px;

    color: #e0e5ed;

    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}


/*=============================================
                    Bonus Tabs
=============================================*/

.bonus-tabs {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 9px;

    margin-bottom: 15px;
}

.bonus-tab {
    min-height: 78px;

    padding:
        12px
        14px;

    border:
        1px solid
        rgba(84, 199, 255, 0.56);

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #123e83,
            #2455a3 48%,
            #5832a6
        );

    color: #ffffff;

    text-align: left;

    cursor: pointer;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.24);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.bonus-tab:nth-child(2) {
    background:
        linear-gradient(
            135deg,
            #4c258d,
            #8145cf,
            #267ed2
        );
}

.bonus-tab:nth-child(3) {
    background:
        linear-gradient(
            135deg,
            #087a87,
            #12b4a5,
            #2867c7
        );
}

.bonus-tab:nth-child(4) {
    background:
        linear-gradient(
            135deg,
            #a34a19,
            #ec7826,
            #9c477f
        );
}

.bonus-tab:nth-child(5) {
    background:
        linear-gradient(
            135deg,
            #79328e,
            #b24ec2,
            #5064d7
        );
}

.bonus-tab:hover,
.bonus-tab:focus-visible {
    transform: translateY(-3px);

    filter: brightness(1.10);

    box-shadow:
        0 13px 28px
        rgba(0, 0, 0, 0.29);

    outline: none;
}

.bonus-tab.is-active {
    transform: translateY(-2px);

    border-color: #fff3a0;

    background:
        linear-gradient(
            135deg,
            #fff080,
            #ffca39 52%,
            #efa008
        );

    color: #0b1121;

    box-shadow:
        0 12px 27px
        rgba(0, 0, 0, 0.29),

        0 0 26px
        rgba(255, 194, 42, 0.36);
}

.bonus-tab span,
.bonus-tab strong,
.bonus-tab small {
    display: block;
}

.bonus-tab span {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;

    opacity: 0.80;
}

.bonus-tab strong {
    margin-top: 5px;

    font-size: 19px;
    font-weight: 900;
    line-height: 1.15;
}

.bonus-tab small {
    margin-top: 5px;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;

    opacity: 0.80;
}


/*=============================================
                    Bonus Panel
=============================================*/

.bonus-panel {
    padding: 27px;

    border:
        1px solid
        rgba(72, 177, 255, 0.28);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 94% 5%,
            rgba(104, 73, 255, 0.13),
            transparent 27%
        ),
        linear-gradient(
            145deg,
            #091831,
            #14162f 50%,
            #1a102c
        );

    box-shadow:
        0 19px 45px
        rgba(0, 0, 0, 0.28);
}

.bonus-panel[hidden],
.bonus-details-content[hidden],
.bonus-guide-content[hidden] {
    display: none !important;
}

.bonus-panel.is-active {
    animation:
        bonusPanelFade
        0.23s ease;
}

@keyframes bonusPanelFade {

    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/*=============================================
                  Panel Heading
=============================================*/

.bonus-panel-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        215px;

    gap: 30px;

    align-items: center;

    padding-bottom: 19px;

    border-bottom:
        1px solid
        rgba(72, 194, 255, 0.18);
}

.bonus-panel-heading-single {
    grid-template-columns: 1fr;
}

.bonus-panel h3,
.bonus-closing h3 {
    max-width: 820px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            30px,
            2.8vw,
            43px
        );

    font-weight: 900;
    line-height: 1.06;
    letter-spacing: -0.035em;
}

.bonus-panel-heading p {
    max-width: 900px;

    margin: 9px 0 0;

    color: #c4ccd8;

    font-size: 15px;
    line-height: 1.64;
}

.bonus-panel-mark {
    padding:
        18px
        15px;

    border:
        1px solid
        rgba(255, 199, 47, 0.44);

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 192, 34, 0.14),
            rgba(89, 55, 154, 0.38)
        );

    text-align: center;
}

.bonus-panel-mark span,
.bonus-panel-mark strong,
.bonus-panel-mark small {
    display: block;
}

.bonus-panel-mark span {
    color: #c3ccd8;

    font-size: 11px;
    line-height: 1.3;
}

.bonus-panel-mark strong {
    margin-top: 5px;

    color: #ffd350;

    font-size: 30px;
    font-weight: 900;
    line-height: 1.1;
}

.bonus-panel-mark small {
    margin-top: 5px;

    color: #aeb9c8;

    font-size: 10px;
    line-height: 1.35;
}


/*=============================================
                  Welcome Path
=============================================*/

.welcome-path {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;

    margin-top: 19px;
}

.welcome-card {
    padding: 19px;

    border:
        1px solid
        rgba(65, 202, 255, 0.28);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            #103765,
            #39246a
        );

    box-shadow:
        0 10px 25px
        rgba(0, 0, 0, 0.22);
}

.welcome-card:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #342566,
            #663291
        );
}

.welcome-card:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #1a4971,
            #604073
        );
}

.welcome-card-head {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;
}

.welcome-card-head span {
    color: #85efff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.welcome-card-head strong {
    color: #ffd24e;

    font-size: 27px;
    font-weight: 900;
    line-height: 1;
}

.welcome-card h4 {
    margin: 10px 0 0;

    color: #ffffff;

    font-size: 24px;
    font-weight: 900;
    line-height: 1.15;
}

.welcome-card > b {
    display: block;

    margin-top: 4px;

    color: #ffd45a;

    font-size: 16px;
    font-weight: 900;
    line-height: 1.25;
}

.welcome-card > p {
    min-height: 68px;

    margin: 9px 0 0;

    color: #c4ccd8;

    font-size: 14px;
    line-height: 1.58;
}


/*=============================================
                Editorial Layout
=============================================*/

.bonus-editorial-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(260px, 0.44fr);

    gap: 36px;

    align-items: center;
}

.bonus-editorial-copy h3 {
    max-width: 820px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            31px,
            3vw,
            44px
        );

    font-weight: 900;
    line-height: 1.06;
    letter-spacing: -0.035em;
}

.bonus-editorial-copy p {
    max-width: 820px;

    margin: 9px 0 0;

    color: #c3cbd7;

    font-size: 15px;
    line-height: 1.64;
}

.bonus-editorial-copy .bonus-editorial-lead {
    color: #ffffff;

    font-size: 17px;
    font-weight: 800;
    line-height: 1.58;
}

.bonus-editorial-copy p strong {
    color: #ffd354;
}


/*=============================================
                    Spotlight
=============================================*/

.bonus-spotlight {
    padding:
        23px
        19px;

    border:
        1px solid
        rgba(255, 202, 52, 0.47);

    border-radius: 17px;

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(255, 194, 40, 0.18),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #193f79,
            #54317b
        );

    text-align: center;
}

.bonus-spotlight > span,
.bonus-spotlight > strong,
.bonus-spotlight > b {
    display: block;
}

.bonus-spotlight > span {
    color: #8df1ff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bonus-spotlight > strong {
    margin-top: 7px;

    color: #ffd354;

    font-size: 40px;
    font-weight: 900;
    line-height: 1;
}

.bonus-spotlight > b {
    margin-top: 6px;

    color: #ffffff;

    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

.bonus-spotlight-cashback {
    background:
        linear-gradient(
            145deg,
            #12606f,
            #304c94 52%,
            #633278
        );
}

.bonus-spotlight-rakeback {
    background:
        linear-gradient(
            145deg,
            #144f77,
            #236a94 48%,
            #57316f
        );
}


/*=============================================
                   Promo Code
=============================================*/

.bonus-code-display {
    margin-top: 15px;

    padding:
        10px
        12px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    border:
        1px solid
        rgba(255, 255, 255, 0.17);

    border-radius: 9px;

    background:
        rgba(5, 12, 29, 0.30);
}

.bonus-code-display small {
    color: #b5c0ce;

    font-size: 11px;
    line-height: 1.3;
}

.bonus-code-display strong {
    color: #ffffff;

    font-size: 16px;
    font-weight: 900;

    letter-spacing: 0.06em;
}


/*=============================================
                    Reloads
=============================================*/

.reload-offers {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 13px;

    margin-top: 20px;
}

.reload-offer {
    padding: 21px;

    border:
        1px solid
        rgba(65, 204, 255, 0.29);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            #103d72,
            #3b286e
        );
}

.reload-offer-secondary {
    background:
        linear-gradient(
            145deg,
            #71351d,
            #933d75 52%,
            #35489b
        );
}

.reload-offer > span {
    color: #8beeff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.reload-headline {
    display: flex;

    align-items: baseline;

    gap: 9px;

    margin-top: 7px;
}

.reload-headline strong {
    color: #ffd252;

    font-size: 36px;
    font-weight: 900;
    line-height: 1;
}

.reload-headline b {
    color: #ffffff;

    font-size: 17px;
    font-weight: 800;
}

.reload-offer > p {
    margin: 8px 0 0;

    color: #c5cdd9;

    font-size: 14px;
    line-height: 1.58;
}


/*=============================================
               Rakeback Timeline
=============================================*/

.rakeback-timeline {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-top: 20px;
}

.rakeback-timeline article {
    padding: 16px;

    border:
        1px solid
        rgba(67, 204, 255, 0.23);

    border-radius: 11px;

    background:
        linear-gradient(
            145deg,
            rgba(13, 52, 91, 0.82),
            rgba(46, 25, 74, 0.80)
        );
}

.rakeback-timeline span {
    display: block;

    color: #8ceeff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.rakeback-timeline strong {
    display: block;

    margin-top: 5px;

    color: #ffd354;

    font-size: 23px;
    font-weight: 900;
    line-height: 1.1;
}

.rakeback-timeline p {
    margin: 7px 0 0;

    color: #bec7d4;

    font-size: 13px;
    line-height: 1.52;
}


/*=============================================
                    Toggles
=============================================*/

.bonus-details-toggle,
.bonus-guide-toggle {
    width: 100%;

    min-height: 50px;

    margin-top: 14px;

    padding:
        0
        13px
        0
        15px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    border:
        1px solid
        rgba(67, 212, 255, 0.48);

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #164d89,
            #54317d
        );

    color: #ffffff;

    font: inherit;

    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;

    text-align: left;

    cursor: pointer;

    transition:
        filter 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.bonus-details-wide {
    margin-top: 19px;
}

.bonus-details-toggle:hover,
.bonus-details-toggle:focus-visible,
.bonus-guide-toggle:hover,
.bonus-guide-toggle:focus-visible {
    border-color: #77efff;

    filter: brightness(1.09);

    box-shadow:
        0 0 20px
        rgba(45, 214, 255, 0.14);

    outline: none;
}

.bonus-details-toggle i,
.bonus-guide-toggle i {
    width: 28px;
    height: 28px;

    display: grid;

    place-items: center;

    flex: 0 0 28px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #ffe67b,
            #ffc02c
        );

    color: #101321;

    font-size: 17px;
    font-style: normal;
    font-weight: 900;

    transition:
        transform 0.18s ease;
}

.bonus-details-toggle.is-open i,
.bonus-guide-toggle.is-open i {
    transform: rotate(45deg);
}


/*=============================================
                Expanded Content
=============================================*/

.bonus-details-content {
    margin-top: 8px;

    padding:
        18px
        18px;

    border:
        1px solid
        rgba(65, 204, 255, 0.20);

    border-radius: 11px;

    background:
        linear-gradient(
            145deg,
            #091a34,
            #181128
        );
}

.bonus-details-content h5 {
    margin: 0;

    color: #ffd354;

    font-size: 17px;
    font-weight: 900;
    line-height: 1.3;
}

.bonus-details-content p,
.bonus-steps {
    color: #c7cfdb;

    font-size: 14px;
    line-height: 1.62;
}

.bonus-details-content p {
    margin: 9px 0 0;
}

.bonus-steps {
    margin: 10px 0 0;

    padding-left: 22px;
}

.bonus-steps li + li {
    margin-top: 6px;
}

.bonus-steps strong {
    color: #ffd454;
}


/*=============================================
                  Cashback Levels
=============================================*/

.cashback-levels {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 8px;

    margin-bottom: 14px;
}

.cashback-levels article {
    padding:
        12px
        8px;

    border:
        1px solid
        rgba(64, 202, 255, 0.20);

    border-radius: 10px;

    background:
        rgba(9, 29, 57, 0.76);

    text-align: center;
}

.cashback-levels strong,
.cashback-levels span,
.cashback-levels small {
    display: block;
}

.cashback-levels strong {
    color: #45e0ff;

    font-size: 22px;
    font-weight: 900;
    line-height: 1.1;
}

.cashback-levels span {
    margin-top: 5px;

    color: #ffffff;

    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
}

.cashback-levels small {
    margin-top: 5px;

    color: #a9b5c5;

    font-size: 9px;
    line-height: 1.4;
}

.cashback-levels .cashback-vip {
    border-color:
        rgba(255, 201, 50, 0.40);

    background:
        linear-gradient(
            145deg,
            rgba(255, 190, 31, 0.14),
            rgba(98, 49, 151, 0.46)
        );
}

.cashback-levels .cashback-vip strong {
    color: #ffd351;
}


/*=============================================
                  Story Note
=============================================*/

.bonus-story-note {
    display: grid;

    grid-template-columns:
        205px
        1fr;

    gap: 20px;

    align-items: center;

    margin-top: 15px;

    padding:
        14px
        16px;

    border-left:
        3px solid
        #39ddff;

    background:
        rgba(8, 27, 55, 0.52);
}

.bonus-story-note strong {
    color: #ffffff;

    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
}

.bonus-story-note p {
    margin: 0;

    color: #bac4d2;

    font-size: 13px;
    line-height: 1.55;
}


/*=============================================
                   Bonus Guide
=============================================*/

.bonus-guide {
    margin-top: 19px;
}

.bonus-guide-toggle {
    min-height: 58px;

    margin-top: 0;
}

.bonus-guide-toggle > span,
.bonus-guide-toggle strong,
.bonus-guide-toggle small {
    display: block;
}

.bonus-guide-toggle strong {
    font-size: 14px;
    line-height: 1.3;
}

.bonus-guide-toggle small {
    margin-top: 4px;

    color: #d6deea;

    font-size: 11px;
    line-height: 1.4;
}

.bonus-guide-content {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 9px;

    margin-top: 9px;
}

.bonus-guide-content article {
    padding: 15px;

    border:
        1px solid
        rgba(63, 203, 255, 0.20);

    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #0c1d38,
            #1b122c
        );
}

.bonus-guide-content article > span {
    color: #48ddff;

    font-size: 10px;
    font-weight: 900;
    line-height: 1.25;

    text-transform: uppercase;
}

.bonus-guide-content h4 {
    margin: 5px 0 0;

    color: #ffffff;

    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
}

.bonus-guide-content p {
    margin: 7px 0 0;

    color: #bbc5d2;

    font-size: 13px;
    line-height: 1.55;
}


/*=============================================
                    Closing
=============================================*/

.bonus-closing {
    display: grid;

    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(0, 1.25fr);

    gap: 38px;

    align-items: center;

    margin-top: 18px;

    padding:
        20px
        22px;

    border:
        1px solid
        rgba(87, 156, 255, 0.25);

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #0b1730,
            #24143d
        );
}

.bonus-closing h3 {
    font-size:
        clamp(
            25px,
            2.4vw,
            35px
        );
}

.bonus-closing > p {
    margin: 0;

    color: #c1cad7;

    font-size: 13px;
    line-height: 1.62;
}


/*=============================================
                  Responsive
=============================================*/

@media (max-width: 1220px) {

    .bonus-navigation,
    .bonus-navigation.is-floating,
    .bonus-navigation.is-at-bottom {
        position: static;

        width: 100%;

        margin-bottom: 20px;

        transform: none;

        pointer-events: auto;
    }

    .bonus-section-switcher {
        width: 100%;

        flex-direction: row;

        gap: 7px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .bonus-section-switcher::-webkit-scrollbar {
        display: none;
    }

    .bonus-section-switcher-button {
        min-width: 138px;

        flex: 0 0 auto;
    }

    .bonus-intro {
        grid-template-columns: 1fr;

        gap: 28px;
    }

    .bonus-intro-media {
        width:
            min(
                520px,
                100%
            );
    }

    .bonus-tabs {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .bonus-editorial-layout {
        grid-template-columns: 1fr;
    }

    .bonus-spotlight {
        max-width: 320px;
    }

    .cashback-levels {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .welcome-path {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 760px) {

    .bonus-section {
        padding:
            30px
            12px
            56px;
    }

    .bonus-container {
        width: 100%;
    }

    .bonus-intro h2 {
        font-size:
            clamp(
                36px,
                10vw,
                44px
            );
    }

    .bonus-intro-copy p {
        font-size: 15px;
    }

    .bonus-intro-copy .bonus-intro-lead {
        font-size: 17px;
    }

    .bonus-intro-media {
        width: 100%;

        min-height: 265px;
    }

    .bonus-intro-media img {
        height: 265px;

        object-position:
            66% center;
    }

    .bonus-intro-media figcaption {
        left: 14px;
        right: 14px;
        bottom: 14px;

        max-width:
            calc(100% - 28px);
    }

    .bonus-intro-media figcaption strong {
        font-size: 24px;
    }

    .bonus-tabs {
        display: flex;

        gap: 8px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .bonus-tabs::-webkit-scrollbar {
        display: none;
    }

    .bonus-tab {
        min-width: 175px;

        flex: 0 0 auto;
    }

    .bonus-panel {
        padding:
            20px
            15px;
    }

    .bonus-panel-heading,
    .welcome-path,
    .reload-offers,
    .rakeback-timeline,
    .cashback-levels,
    .bonus-guide-content,
    .bonus-story-note,
    .bonus-closing {
        grid-template-columns: 1fr;
    }

    .bonus-panel-mark {
        max-width: 240px;
    }

    .welcome-card > p {
        min-height: 0;
    }

}


@media (max-width: 480px) {

    .bonus-section-switcher-button {
        min-width: 126px;
    }

    .bonus-tab {
        min-width: 160px;
    }

    .bonus-panel h3,
    .bonus-editorial-copy h3 {
        font-size: 29px;
    }

    .bonus-intro-media figcaption span {
        font-size: 9px;
    }

    .bonus-intro-media figcaption strong {
        font-size: 21px;
    }

    .bonus-intro-media figcaption b {
        font-size: 16px;
    }

}


/*=============================================
             Reduced Motion Support
=============================================*/

@media (prefers-reduced-motion: reduce) {

    .bonus-section-switcher-button,
    .bonus-tab,
    .bonus-details-toggle,
    .bonus-guide-toggle,
    .bonus-details-toggle i,
    .bonus-guide-toggle i {
        transition: none;
    }

    .bonus-panel.is-active {
        animation: none;
    }

}


/*=============================================
                   Bonuses End
=============================================*/
/*=============================================
                  Sports Start
=============================================*/

.sports-section {
    position: relative;
    padding: 52px 20px 72px;
    overflow: visible;
    color: #ffffff;

    background:
        radial-gradient(
            circle at 7% 8%,
            rgba(0, 218, 255, 0.16),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 10%,
            rgba(84, 91, 255, 0.20),
            transparent 30%
        ),
        radial-gradient(
            circle at 72% 80%,
            rgba(255, 186, 34, 0.07),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #050817 0%,
            #07122b 44%,
            #0d0b25 76%,
            #050817 100%
        );
}

.sports-section[hidden] {
    display: none !important;
}

.sports-container {
    position: relative;
    width: min(calc(100% - 8px), 1320px);
    margin: 0 auto;
}

.sports-shell {
    position: relative;
    width: 100%;
}

.sports-main {
    width: 100%;
    min-width: 0;
}


/*=============================================
              Section Navigation
=============================================*/

.sports-site-navigation {
    position: absolute;

    top: 0;
    left: -166px;

    width: 140px;

    z-index: 80;

    pointer-events: none;
}

.sports-site-switcher {
    width: 140px;

    display: flex;
    flex-direction: column;

    gap: 7px;

    pointer-events: auto;
}

.sports-site-navigation.is-floating {
    position: fixed;

    top: 50%;

    left:
        max(
            18px,
            calc(
                50% -
                660px -
                166px
            )
        );

    transform: translateY(-50%);
}

.sports-site-navigation.is-at-bottom {
    position: absolute;

    top: auto;
    bottom: 0;
    left: -166px;

    transform: none;
}

.sports-site-switcher-button {
    position: relative;

    width: 100%;
    min-height: 48px;

    padding: 8px 9px;

    overflow: hidden;

    border:
        1px solid
        rgba(83, 233, 255, 0.94);

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #1046ac 0%,
            #087fd7 48%,
            #11d7ec 100%
        );

    color: #ffffff;

    font: inherit;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;

    text-align: center;

    cursor: pointer;

    text-shadow:
        0 2px 6px
        rgba(0, 0, 0, 0.34);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.18),

        0 7px 17px
        rgba(0, 0, 0, 0.24),

        0 0 18px
        rgba(24, 217, 255, 0.20);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.sports-site-switcher-button:hover,
.sports-site-switcher-button:focus-visible {
    transform: translateX(4px);

    border-color: #b8f9ff;

    filter: brightness(1.10);

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.28),

        0 0 27px
        rgba(35, 225, 255, 0.40);

    outline: none;
}

.sports-site-switcher-button.is-active {
    transform: translateX(4px);

    border-color: #fff4a5;

    background:
        linear-gradient(
            135deg,
            #fff18e 0%,
            #ffd047 45%,
            #f1a20e 100%
        );

    color: #0b1224;

    text-shadow: none;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 28px
        rgba(255, 196, 42, 0.46);
}


/*=============================================
                  Introduction
=============================================*/

.sports-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(390px, 0.72fr);

    gap: 46px;

    align-items: center;

    margin-bottom: 30px;
}

.sports-eyebrow,
.sports-panel-kicker {
    display: block;

    margin-bottom: 10px;

    color: #4ae5ff;

    font-size: 12px;
    font-weight: 900;
    line-height: 1.35;

    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.sports-intro h2 {
    max-width: 850px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            43px,
            4.2vw,
            62px
        );

    font-weight: 900;
    line-height: 1.01;

    letter-spacing: -0.045em;
}

.sports-intro-copy p {
    max-width: 880px;

    margin: 12px 0 0;

    color: #c9d1dd;

    font-size: 16px;
    line-height: 1.68;
}

.sports-intro-copy .sports-intro-lead {
    color: #ffffff;

    font-size: 18px;
    font-weight: 800;
    line-height: 1.6;
}


/*=============================================
                   Sports Image
=============================================*/

.sports-intro-media {
    position: relative;

    margin: 0;

    width: 100%;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 202, 54, 0.62);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #081633,
            #111b43
        );

    box-shadow:
        0 23px 52px
        rgba(0, 0, 0, 0.34),

        0 0 28px
        rgba(31, 211, 255, 0.11);
}

/*
    IMPORTANT:
    No overlay, no absolute caption,
    no text placed over the image.
*/
.sports-intro-media::after {
    display: none;
}

.sports-intro-media img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
    object-position: center;

    border: 0;

    filter:
        brightness(1)
        saturate(1.03);
}


/* Caption is now BELOW the image */

.sports-intro-media figcaption {
    position: static;

    width: 100%;
    max-width: none;

    padding:
        16px
        19px
        17px;

    border: 0;
    border-top:
        1px solid
        rgba(62, 211, 255, 0.22);

    background:
        linear-gradient(
            135deg,
            #0b1c3d 0%,
            #15244f 48%,
            #251947 100%
        );

    text-shadow: none;
}

.sports-intro-media figcaption span,
.sports-intro-media figcaption strong,
.sports-intro-media figcaption small {
    display: block;
}

.sports-intro-media figcaption span {
    color: #63e9ff;

    font-size: 11px;
    font-weight: 900;
    line-height: 1.3;

    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.sports-intro-media figcaption strong {
    margin-top: 5px;

    color: #ffffff;

    font-size: 22px;
    font-weight: 900;
    line-height: 1.15;
}

.sports-intro-media figcaption small {
    max-width: 470px;

    margin-top: 6px;

    color: #cbd4e1;

    font-size: 13px;
    font-weight: 600;
    line-height: 1.48;
}


/*=============================================
                    Sports Tabs
=============================================*/

.sports-tabs {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 9px;

    margin-bottom: 16px;
}

.sports-tab {
    min-height: 84px;

    padding:
        13px
        14px;

    border:
        1px solid
        rgba(84, 199, 255, 0.56);

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #123f83,
            #2555a3 48%,
            #5933a7
        );

    color: #ffffff;

    text-align: left;

    cursor: pointer;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.24);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.sports-tab:nth-child(2) {
    background:
        linear-gradient(
            135deg,
            #085f91,
            #0798c4,
            #2659bd
        );
}

.sports-tab:nth-child(3) {
    background:
        linear-gradient(
            135deg,
            #087982,
            #11ae9d,
            #2967c5
        );
}

.sports-tab:nth-child(4) {
    background:
        linear-gradient(
            135deg,
            #563092,
            #9151cf,
            #315ed2
        );
}

.sports-tab:nth-child(5) {
    background:
        linear-gradient(
            135deg,
            #a04a18,
            #e87826,
            #9d467e
        );
}

.sports-tab:hover,
.sports-tab:focus-visible {
    transform: translateY(-3px);

    filter: brightness(1.10);

    box-shadow:
        0 13px 27px
        rgba(0, 0, 0, 0.28);

    outline: none;
}

.sports-tab.is-active {
    transform: translateY(-2px);

    border-color: #fff3a0;

    background:
        linear-gradient(
            135deg,
            #fff080,
            #ffca39 52%,
            #efa008
        );

    color: #0b1121;

    box-shadow:
        0 12px 27px
        rgba(0, 0, 0, 0.29),

        0 0 26px
        rgba(255, 194, 42, 0.36);
}

.sports-tab span,
.sports-tab strong,
.sports-tab small {
    display: block;
}

.sports-tab span {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;

    opacity: 0.82;
}

.sports-tab strong {
    margin-top: 5px;

    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
}

.sports-tab small {
    margin-top: 5px;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;

    opacity: 0.82;
}


/*=============================================
                   Sports Panel
=============================================*/

.sports-panel {
    padding: 28px;

    border:
        1px solid
        rgba(72, 177, 255, 0.28);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 94% 5%,
            rgba(77, 105, 255, 0.13),
            transparent 27%
        ),
        linear-gradient(
            145deg,
            #091831,
            #12192f 50%,
            #19102c
        );

    box-shadow:
        0 19px 45px
        rgba(0, 0, 0, 0.28);
}

.sports-panel[hidden],
.sports-details-content[hidden],
.sports-guide-content[hidden] {
    display: none !important;
}

.sports-panel.is-active {
    animation:
        sportsPanelFade
        0.23s ease;
}

@keyframes sportsPanelFade {

    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/*=============================================
                  Panel Heading
=============================================*/

.sports-panel-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        220px;

    gap: 32px;

    align-items: center;

    padding-bottom: 20px;

    border-bottom:
        1px solid
        rgba(72, 194, 255, 0.18);
}

.sports-panel-heading-single {
    grid-template-columns: 1fr;
}

.sports-panel h3,
.sports-closing h3,
.sports-watchlist h3 {
    max-width: 860px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            31px,
            2.8vw,
            43px
        );

    font-weight: 900;
    line-height: 1.06;

    letter-spacing: -0.035em;
}

.sports-panel-heading p {
    max-width: 920px;

    margin: 10px 0 0;

    color: #c5ceda;

    font-size: 15px;
    line-height: 1.65;
}

.sports-panel-highlight {
    padding:
        19px
        16px;

    border:
        1px solid
        rgba(255, 199, 47, 0.44);

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 192, 34, 0.14),
            rgba(50, 110, 177, 0.32)
        );

    text-align: center;
}

.sports-panel-highlight span,
.sports-panel-highlight strong,
.sports-panel-highlight small {
    display: block;
}

.sports-panel-highlight span {
    color: #c5ced9;

    font-size: 11px;
}

.sports-panel-highlight strong {
    margin-top: 6px;

    color: #ffd350;

    font-size: 25px;
    font-weight: 900;
}

.sports-panel-highlight small {
    margin-top: 6px;

    color: #b3bdca;

    font-size: 11px;
    line-height: 1.4;
}


/*=============================================
                 Betting Formats
=============================================*/

.sports-format-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 12px;

    margin-top: 20px;
}

.sports-format-card {
    padding: 19px;

    border:
        1px solid
        rgba(61, 207, 255, 0.23);

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            #10365f,
            #302568
        );
}

.sports-format-card:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #23326e,
            #563077
        );
}

.sports-format-card:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #0c526c,
            #215b87
        );
}

.sports-format-card:nth-child(4) {
    background:
        linear-gradient(
            145deg,
            #67321c,
            #6d336e
        );
}

.sports-format-label {
    color: #82efff;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.sports-format-card h4 {
    margin: 7px 0 0;

    color: #ffffff;

    font-size: 23px;
    font-weight: 900;
    line-height: 1.18;
}

.sports-format-card p {
    min-height: 112px;

    margin: 9px 0 0;

    color: #c5ced9;

    font-size: 14px;
    line-height: 1.58;
}

.sports-format-card > strong {
    display: block;

    margin-top: 11px;

    color: #ffd352;

    font-size: 14px;
}


/*=============================================
                Editorial Layout
=============================================*/

.sports-editorial-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(270px, 0.44fr);

    gap: 38px;

    align-items: center;
}

.sports-editorial-copy h3 {
    max-width: 840px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            32px,
            3vw,
            44px
        );

    font-weight: 900;
    line-height: 1.06;

    letter-spacing: -0.035em;
}

.sports-editorial-copy p {
    max-width: 840px;

    margin: 10px 0 0;

    color: #c5ced9;

    font-size: 15px;
    line-height: 1.65;
}

.sports-editorial-copy .sports-editorial-lead {
    color: #ffffff;

    font-size: 17px;
    font-weight: 800;
    line-height: 1.6;
}


/*=============================================
                    Spotlight
=============================================*/

.sports-spotlight {
    padding:
        24px
        20px;

    border:
        1px solid
        rgba(255, 202, 52, 0.46);

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            #174b79,
            #493478
        );

    text-align: center;
}

.sports-spotlight > span,
.sports-spotlight > strong,
.sports-spotlight > b {
    display: block;
}

.sports-spotlight > span {
    color: #8df1ff;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sports-spotlight > strong {
    margin-top: 8px;

    color: #ffd354;

    font-size: 28px;
    font-weight: 900;
    line-height: 1.08;
}

.sports-spotlight > b {
    margin-top: 7px;

    color: #ffffff;

    font-size: 14px;
    line-height: 1.42;
}

.sports-spotlight-esports {
    background:
        linear-gradient(
            145deg,
            #343278,
            #69398e 52%,
            #1d6194
        );
}


/*=============================================
                    Markets
=============================================*/

.sports-market-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 11px;

    margin-top: 21px;
}

.sports-market-grid article,
.esports-structure article {
    padding: 17px;

    border:
        1px solid
        rgba(63, 203, 255, 0.22);

    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            rgba(13, 54, 94, 0.84),
            rgba(43, 28, 74, 0.82)
        );
}

.sports-market-grid span,
.esports-structure span {
    display: block;

    color: #84eeff;

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
}

.sports-market-grid strong,
.esports-structure strong {
    display: block;

    margin-top: 6px;

    color: #ffd354;

    font-size: 20px;
    font-weight: 900;
}

.sports-market-grid p,
.esports-structure p {
    margin: 7px 0 0;

    color: #c1cad6;

    font-size: 13px;
    line-height: 1.55;
}


/*=============================================
                Global Sport Cards
=============================================*/

.sports-discipline-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 13px;

    margin-top: 21px;
}

.sports-discipline-card {
    padding: 21px;

    border:
        1px solid
        rgba(65, 202, 255, 0.24);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            #103966,
            #35256a
        );
}

.sports-discipline-card:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #195873,
            #35447a
        );
}

.sports-discipline-card:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #6a331e,
            #593169
        );
}

.sports-discipline-card:nth-child(4) {
    background:
        linear-gradient(
            145deg,
            #174f70,
            #42336f
        );
}

.sports-discipline-card > span {
    color: #83efff;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.sports-discipline-card h4 {
    margin: 7px 0 0;

    color: #ffffff;

    font-size: 23px;
    font-weight: 900;
    line-height: 1.2;
}

.sports-discipline-card p {
    margin: 9px 0 0;

    color: #c5ced9;

    font-size: 14px;
    line-height: 1.6;
}


/*=============================================
                    Watchlist
=============================================*/

.sports-watchlist {
    margin-top: 22px;

    padding-top: 21px;

    border-top:
        1px solid
        rgba(72, 194, 255, 0.18);
}

.sports-watchlist-items {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin-top: 17px;
}

.sports-watchlist-items article {
    padding: 16px;

    border:
        1px solid
        rgba(64, 203, 255, 0.20);

    border-radius: 11px;

    background:
        rgba(9, 29, 57, 0.76);
}

.sports-watchlist-items strong {
    color: #ffd354;

    font-size: 17px;
    font-weight: 900;
}

.sports-watchlist-items p {
    margin: 7px 0 0;

    color: #bec8d5;

    font-size: 13px;
    line-height: 1.55;
}


/*=============================================
                    eSports
=============================================*/

.esports-structure {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 11px;

    margin-top: 21px;
}


/*=============================================
                 Sports Bonus
=============================================*/

.sports-bonus-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        230px;

    gap: 32px;

    align-items: center;

    padding-bottom: 20px;

    border-bottom:
        1px solid
        rgba(72, 194, 255, 0.18);
}

.sports-bonus-hero h3 {
    max-width: 850px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            31px,
            2.8vw,
            43px
        );

    font-weight: 900;
    line-height: 1.06;
}

.sports-bonus-hero p {
    max-width: 900px;

    margin: 10px 0 0;

    color: #c5ced9;

    font-size: 15px;
    line-height: 1.65;
}

.sports-bonus-total {
    padding:
        19px
        16px;

    border:
        1px solid
        rgba(255, 199, 47, 0.45);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 192, 34, 0.14),
            rgba(71, 67, 160, 0.36)
        );

    text-align: center;
}

.sports-bonus-total span,
.sports-bonus-total strong,
.sports-bonus-total small {
    display: block;
}

.sports-bonus-total span {
    color: #c5ced9;

    font-size: 11px;
}

.sports-bonus-total strong {
    margin-top: 6px;

    color: #ffd350;

    font-size: 35px;
    font-weight: 900;
}

.sports-bonus-total small {
    margin-top: 5px;

    color: #b3bdca;

    font-size: 11px;
    line-height: 1.4;
}

.sports-bonus-roadmap {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;

    margin-top: 20px;
}

.sports-bonus-roadmap article {
    padding: 19px;

    border:
        1px solid
        rgba(64, 203, 255, 0.24);

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            #103966,
            #39256a
        );
}

.sports-bonus-roadmap article:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #34306e,
            #65358c
        );
}

.sports-bonus-roadmap article:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #174d72,
            #68456d
        );
}

.sports-bonus-roadmap span,
.sports-bonus-roadmap strong,
.sports-bonus-roadmap b {
    display: block;
}

.sports-bonus-roadmap span {
    color: #87efff;

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
}

.sports-bonus-roadmap strong {
    margin-top: 7px;

    color: #ffd351;

    font-size: 30px;
    font-weight: 900;
}

.sports-bonus-roadmap b {
    margin-top: 4px;

    color: #ffffff;

    font-size: 17px;
}

.sports-bonus-rules {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin-top: 12px;
}

.sports-bonus-rules article {
    padding: 14px;

    border:
        1px solid
        rgba(62, 203, 255, 0.19);

    border-radius: 10px;

    background:
        rgba(8, 28, 56, 0.72);

    text-align: center;
}

.sports-bonus-rules span,
.sports-bonus-rules strong {
    display: block;
}

.sports-bonus-rules span {
    color: #b4bfcc;

    font-size: 11px;
}

.sports-bonus-rules strong {
    margin-top: 5px;

    color: #ffd354;

    font-size: 20px;
    font-weight: 900;
}

.sports-cashback-banner {
    display: grid;

    grid-template-columns:
        220px
        minmax(0, 1fr);

    gap: 22px;

    align-items: center;

    margin-top: 15px;

    padding:
        16px
        18px;

    border-left:
        3px solid
        #38ddff;

    background:
        linear-gradient(
            90deg,
            rgba(10, 56, 92, 0.62),
            rgba(48, 31, 79, 0.47)
        );
}

.sports-cashback-banner span,
.sports-cashback-banner strong {
    display: block;
}

.sports-cashback-banner span {
    color: #87efff;

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
}

.sports-cashback-banner strong {
    margin-top: 4px;

    color: #ffd354;

    font-size: 25px;
    font-weight: 900;
}

.sports-cashback-banner p {
    margin: 0;

    color: #c1cad6;

    font-size: 13px;
    line-height: 1.58;
}


/*=============================================
                    Toggles
=============================================*/

.sports-details-toggle,
.sports-guide-toggle {
    width: 100%;

    min-height: 56px;

    margin-top: 17px;

    padding:
        0
        14px
        0
        16px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 13px;

    border:
        1px solid
        rgba(67, 212, 255, 0.49);

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #164d89,
            #54317d
        );

    color: #ffffff;

    font: inherit;

    text-align: left;

    cursor: pointer;

    transition:
        filter 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.sports-details-toggle:hover,
.sports-details-toggle:focus-visible,
.sports-guide-toggle:hover,
.sports-guide-toggle:focus-visible {
    border-color: #77efff;

    filter: brightness(1.09);

    box-shadow:
        0 0 21px
        rgba(45, 214, 255, 0.14);

    outline: none;
}

.sports-details-toggle > span,
.sports-guide-toggle > span,
.sports-details-toggle strong,
.sports-details-toggle small,
.sports-guide-toggle strong,
.sports-guide-toggle small {
    display: block;
}

.sports-details-toggle strong,
.sports-guide-toggle strong {
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
}

.sports-details-toggle small,
.sports-guide-toggle small {
    margin-top: 4px;

    color: #d5deea;

    font-size: 11px;
    line-height: 1.42;
}

.sports-details-toggle i,
.sports-guide-toggle i {
    width: 29px;
    height: 29px;

    display: grid;
    place-items: center;

    flex: 0 0 29px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #ffe67b,
            #ffc02c
        );

    color: #101321;

    font-size: 18px;
    font-style: normal;
    font-weight: 900;

    transition:
        transform 0.18s ease;
}

.sports-details-toggle.is-open i,
.sports-guide-toggle.is-open i {
    transform: rotate(45deg);
}


/*=============================================
                Expanded Content
=============================================*/

.sports-details-content {
    margin-top: 9px;

    padding: 19px;

    border:
        1px solid
        rgba(65, 204, 255, 0.20);

    border-radius: 11px;

    background:
        linear-gradient(
            145deg,
            #091a34,
            #181128
        );
}

.sports-details-content p,
.sports-steps {
    color: #c9d1dc;

    font-size: 14px;
    line-height: 1.65;
}

.sports-details-content p {
    margin: 0;
}

.sports-details-content p + p {
    margin-top: 11px;
}

.sports-steps {
    margin: 0;

    padding-left: 23px;
}

.sports-steps li + li {
    margin-top: 8px;
}

.sports-explanation-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;
}

.sports-explanation-grid article {
    padding: 15px;

    border:
        1px solid
        rgba(62, 203, 255, 0.18);

    border-radius: 10px;

    background:
        rgba(7, 27, 54, 0.74);
}

.sports-explanation-grid span {
    color: #83efff;

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
}

.sports-explanation-grid h4 {
    margin: 6px 0 0;

    color: #ffffff;

    font-size: 17px;
    font-weight: 900;
}

.sports-explanation-grid p {
    margin-top: 7px;

    font-size: 13px;
}


/*=============================================
                   Sports Guide
=============================================*/

.sports-guide {
    margin-top: 20px;
}

.sports-guide-toggle {
    margin-top: 0;
}

.sports-guide-content {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin-top: 10px;
}

.sports-guide-content article {
    padding: 16px;

    border:
        1px solid
        rgba(63, 203, 255, 0.21);

    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #0c1d38,
            #1b122c
        );
}

.sports-guide-content article > span {
    color: #48ddff;

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
}

.sports-guide-content h4 {
    margin: 6px 0 0;

    color: #ffffff;

    font-size: 16px;
    font-weight: 900;
    line-height: 1.35;
}

.sports-guide-content p {
    margin: 7px 0 0;

    color: #bec8d5;

    font-size: 13px;
    line-height: 1.58;
}


/*=============================================
                    Closing
=============================================*/

.sports-closing {
    display: grid;

    grid-template-columns:
        minmax(0, 0.78fr)
        minmax(0, 1.22fr);

    gap: 40px;

    align-items: center;

    margin-top: 20px;

    padding:
        21px
        23px;

    border:
        1px solid
        rgba(87, 156, 255, 0.26);

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #0b1730,
            #24143d
        );
}

.sports-closing h3 {
    font-size:
        clamp(
            26px,
            2.4vw,
            35px
        );
}

.sports-closing > p {
    margin: 0;

    color: #c3ccd8;

    font-size: 13px;
    line-height: 1.65;
}


/*=============================================
                  Responsive
=============================================*/

@media (max-width: 1220px) {

    .sports-site-navigation,
    .sports-site-navigation.is-floating,
    .sports-site-navigation.is-at-bottom {
        position: static;

        width: 100%;

        margin-bottom: 20px;

        transform: none;

        pointer-events: auto;
    }

    .sports-site-switcher {
        width: 100%;

        flex-direction: row;

        gap: 7px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .sports-site-switcher::-webkit-scrollbar {
        display: none;
    }

    .sports-site-switcher-button {
        min-width: 138px;

        flex: 0 0 auto;
    }

    .sports-intro {
        grid-template-columns: 1fr;

        gap: 28px;
    }

    .sports-intro-media {
        width:
            min(
                680px,
                100%
            );
    }

    .sports-tabs {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .sports-format-grid,
    .sports-watchlist-items,
    .esports-structure {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .sports-editorial-layout {
        grid-template-columns: 1fr;
    }

    .sports-spotlight {
        max-width: 330px;
    }

    .sports-market-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .sports-bonus-hero {
        grid-template-columns: 1fr;
    }

    .sports-bonus-total {
        max-width: 270px;
    }

}


@media (max-width: 760px) {

    .sports-section {
        padding:
            30px
            12px
            56px;
    }

    .sports-container {
        width: 100%;
    }

    .sports-intro h2 {
        font-size:
            clamp(
                36px,
                10vw,
                44px
            );
    }

    .sports-intro-copy p {
        font-size: 15px;
    }

    .sports-intro-copy .sports-intro-lead {
        font-size: 17px;
    }

    .sports-intro-media {
        width: 100%;
    }

    .sports-intro-media figcaption {
        padding:
            14px
            15px
            15px;
    }

    .sports-intro-media figcaption strong {
        font-size: 20px;
    }

    .sports-tabs {
        display: flex;

        gap: 8px;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .sports-tabs::-webkit-scrollbar {
        display: none;
    }

    .sports-tab {
        min-width: 188px;

        flex: 0 0 auto;
    }

    .sports-panel {
        padding:
            20px
            15px;
    }

    .sports-panel-heading,
    .sports-format-grid,
    .sports-market-grid,
    .sports-discipline-grid,
    .sports-watchlist-items,
    .esports-structure,
    .sports-bonus-roadmap,
    .sports-bonus-rules,
    .sports-cashback-banner,
    .sports-explanation-grid,
    .sports-guide-content,
    .sports-closing {
        grid-template-columns: 1fr;
    }

    .sports-format-card p {
        min-height: 0;
    }

}


@media (max-width: 480px) {

    .sports-site-switcher-button {
        min-width: 126px;
    }

    .sports-tab {
        min-width: 170px;
    }

    .sports-panel h3,
    .sports-editorial-copy h3,
    .sports-bonus-hero h3 {
        font-size: 29px;
    }

}


/*=============================================
             Reduced Motion Support
=============================================*/

@media (prefers-reduced-motion: reduce) {

    .sports-site-switcher-button,
    .sports-tab,
    .sports-details-toggle,
    .sports-guide-toggle,
    .sports-details-toggle i,
    .sports-guide-toggle i {
        transition: none;
    }

    .sports-panel.is-active {
        animation: none;
    }

}


/*=============================================
                   Sports End
=============================================*/
/*=============================================
/*=============================================
           Promotions & Tournaments Start
=============================================*/

.promotions-section {
    position: relative;
    padding: 46px 20px 68px;
    overflow: visible;
    color: #ffffff;

    background:
        radial-gradient(
            circle at 7% 7%,
            rgba(14, 221, 255, 0.15),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 9%,
            rgba(129, 70, 255, 0.20),
            transparent 30%
        ),
        radial-gradient(
            circle at 72% 80%,
            rgba(255, 188, 35, 0.07),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #050817 0%,
            #081026 43%,
            #120a24 76%,
            #060817 100%
        );
}

.promotions-section[hidden] {
    display: none !important;
}

.promotions-container {
    position: relative;

    width:
        min(
            calc(100% - 8px),
            1320px
        );

    margin: 0 auto;
}

.promotions-shell {
    position: relative;
    width: 100%;
}

.promotions-main {
    width: 100%;
    min-width: 0;
}


/*=============================================
              Section Navigation
=============================================*/

.promotions-site-navigation {
    position: absolute;

    top: 0;
    left: -166px;

    width: 140px;

    z-index: 80;

    pointer-events: none;
}

.promotions-site-switcher {
    width: 140px;

    display: flex;
    flex-direction: column;

    gap: 7px;

    pointer-events: auto;
}

.promotions-site-navigation.is-floating {
    position: fixed;

    top: 50%;

    left:
        max(
            18px,
            calc(
                50% -
                660px -
                166px
            )
        );

    transform:
        translateY(-50%);
}

.promotions-site-navigation.is-at-bottom {
    position: absolute;

    top: auto;
    bottom: 0;
    left: -166px;

    transform: none;
}

.promotions-site-switcher-button {
    width: 100%;
    min-height: 48px;

    padding:
        8px
        9px;

    border:
        1px solid
        rgba(83, 233, 255, 0.94);

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #1046ac 0%,
            #087fd7 48%,
            #11d7ec 100%
        );

    color: #ffffff;

    font: inherit;

    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;

    text-align: center;

    cursor: pointer;

    text-shadow:
        0 2px 6px
        rgba(0, 0, 0, 0.34);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.18),

        0 7px 17px
        rgba(0, 0, 0, 0.24),

        0 0 18px
        rgba(24, 217, 255, 0.20);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.promotions-site-switcher-button:hover,
.promotions-site-switcher-button:focus-visible {
    transform:
        translateX(4px);

    border-color:
        #b8f9ff;

    filter:
        brightness(1.10);

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 25px
        rgba(35, 225, 255, 0.32);

    outline: none;
}

.promotions-site-switcher-button.is-active {
    transform:
        translateX(4px);

    border-color:
        #fff4a5;

    background:
        linear-gradient(
            135deg,
            #fff18e 0%,
            #ffd047 45%,
            #f1a20e 100%
        );

    color:
        #0b1224;

    text-shadow: none;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 28px
        rgba(255, 196, 42, 0.46);
}


/*=============================================
           Promotions Introduction
=============================================*/

.promotions-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.13fr)
        minmax(370px, 0.62fr);

    grid-template-rows:
        auto
        auto
        auto;

    column-gap: 42px;
    row-gap: 0;

    align-items: start;

    margin-bottom: 23px;
}


/*
    We keep the existing HTML.
    display: contents makes the intro-copy children
    participate directly in the main intro grid.
*/

.promotions-intro-copy {
    display: contents;
}

.promotions-eyebrow {
    grid-column: 1;
    grid-row: 1;

    align-self: end;

    display: block;

    margin:
        0
        0
        9px;

    color:
        #48e5ff;

    font-size: 12px;
    font-weight: 900;
    line-height: 1.3;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;
}

.promotions-intro h2 {
    grid-column: 1;
    grid-row: 2;

    max-width: 810px;

    margin: 0;

    color:
        #ffffff;

    font-size:
        clamp(
            42px,
            4.05vw,
            60px
        );

    font-weight: 900;
    line-height: 1.01;

    letter-spacing:
        -0.045em;
}

.promotions-intro-copy .promotions-intro-lead {
    grid-column: 1;
    grid-row: 3;

    max-width: 830px;

    margin:
        13px
        0
        0;

    color:
        #ffffff;

    font-size: 17px;
    font-weight: 800;
    line-height: 1.58;
}


/* Image occupies the full right column at the top */

.promotions-intro-media {
    grid-column: 2;
    grid-row:
        1 / span 3;

    align-self: start;

    width: 100%;

    margin: 0;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 202, 54, 0.60);

    border-radius:
        21px;

    background:
        #09142f;

    box-shadow:
        0 20px 46px
        rgba(0, 0, 0, 0.32),

        0 0 26px
        rgba(255, 196, 40, 0.10);
}

.promotions-intro-media img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
    object-position: center;
}


/*
    Remaining paragraphs move below BOTH columns.
*/

.promotions-intro-copy > p:nth-of-type(2) {
    grid-column:
        1 / -1;

    grid-row: 4;

    max-width: none;

    margin:
        17px
        0
        0;

    color:
        #c8d0dc;

    font-size: 15px;
    line-height: 1.65;
}

.promotions-intro-copy > p:nth-of-type(3) {
    grid-column:
        1 / -1;

    grid-row: 5;

    max-width: none;

    margin:
        9px
        0
        0;

    color:
        #c8d0dc;

    font-size: 15px;
    line-height: 1.65;
}


/*=============================================
               Promotion Kicker
=============================================*/

.promotions-panel-kicker {
    display: block;

    margin-bottom:
        9px;

    color:
        #48e5ff;

    font-size: 12px;
    font-weight: 900;
    line-height: 1.3;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;
}


/*=============================================
                Headline Strip
=============================================*/

.promotions-headlines {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin-bottom:
        13px;
}

.promotions-headlines article {
    padding:
        14px
        15px;

    border:
        1px solid
        rgba(66, 204, 255, 0.24);

    border-radius:
        13px;

    background:
        linear-gradient(
            145deg,
            #103962,
            #2f2869
        );
}

.promotions-headlines article:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #38246f,
            #643488
        );
}

.promotions-headlines article:nth-child(3) {
    border-color:
        rgba(255, 199, 49, 0.40);

    background:
        linear-gradient(
            145deg,
            #6c351d,
            #71346f
        );
}

.promotions-headlines article:nth-child(4) {
    background:
        linear-gradient(
            145deg,
            #12606f,
            #374490
        );
}

.promotions-headlines span,
.promotions-headlines strong,
.promotions-headlines small {
    display: block;
}

.promotions-headlines span {
    color:
        #8cefff;

    font-size: 11px;
    font-weight: 900;

    text-transform:
        uppercase;
}

.promotions-headlines strong {
    margin-top:
        4px;

    color:
        #ffd351;

    font-size: 23px;
    font-weight: 900;
    line-height: 1.1;
}

.promotions-headlines small {
    margin-top:
        4px;

    color:
        #d0d7e2;

    font-size: 11px;
    line-height: 1.3;
}


/*=============================================
                 Promotion Tabs
=============================================*/

.promotions-tabs {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 9px;

    margin-bottom:
        14px;
}

.promotions-tab {
    min-height:
        80px;

    padding:
        12px
        14px;

    border:
        1px solid
        rgba(84, 199, 255, 0.54);

    border-radius:
        14px;

    background:
        linear-gradient(
            135deg,
            #123f83,
            #2555a3 48%,
            #5933a7
        );

    color:
        #ffffff;

    text-align:
        left;

    cursor:
        pointer;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.24);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease;
}

.promotions-tab:nth-child(2) {
    background:
        linear-gradient(
            135deg,
            #55288f,
            #9448cd,
            #3765d1
        );
}

.promotions-tab:nth-child(3) {
    background:
        linear-gradient(
            135deg,
            #087b87,
            #12b4a4,
            #2b64c6
        );
}

.promotions-tab:nth-child(4) {
    background:
        linear-gradient(
            135deg,
            #a44b18,
            #eb7725,
            #9b477f
        );
}

.promotions-tab:hover,
.promotions-tab:focus-visible {
    transform:
        translateY(-3px);

    filter:
        brightness(1.10);

    outline:
        none;
}

.promotions-tab.is-active {
    transform:
        translateY(-2px);

    border-color:
        #fff3a0;

    background:
        linear-gradient(
            135deg,
            #fff080,
            #ffca39 52%,
            #efa008
        );

    color:
        #0b1121;

    box-shadow:
        0 12px 27px
        rgba(0, 0, 0, 0.29),

        0 0 26px
        rgba(255, 194, 42, 0.36);
}

.promotions-tab span,
.promotions-tab strong,
.promotions-tab small {
    display:
        block;
}

.promotions-tab span {
    font-size:
        11px;

    font-weight:
        800;

    opacity:
        0.82;
}

.promotions-tab strong {
    margin-top:
        5px;

    font-size:
        18px;

    font-weight:
        900;

    line-height:
        1.2;
}

.promotions-tab small {
    margin-top:
        5px;

    font-size:
        11px;

    font-weight:
        700;

    line-height:
        1.35;

    opacity:
        0.80;
}


/*=============================================
                 Promotion Panel
=============================================*/

.promotions-panel {
    padding:
        27px;

    border:
        1px solid
        rgba(72, 177, 255, 0.27);

    border-radius:
        20px;

    background:
        radial-gradient(
            circle at 94% 5%,
            rgba(104, 73, 255, 0.13),
            transparent 27%
        ),
        linear-gradient(
            145deg,
            #091831,
            #14162f 50%,
            #1a102c
        );

    box-shadow:
        0 19px 45px
        rgba(0, 0, 0, 0.28);
}

.promotions-panel[hidden],
.promotions-details-content[hidden],
.promotions-guide-content[hidden] {
    display:
        none !important;
}

.promotions-panel.is-active {
    animation:
        promotionsPanelFade
        0.23s
        ease;
}

@keyframes promotionsPanelFade {

    from {
        opacity: 0;

        transform:
            translateY(4px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/*=============================================
                  Panel Heading
=============================================*/

.promotions-panel-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        235px;

    gap: 31px;

    align-items: center;

    padding-bottom:
        19px;

    border-bottom:
        1px solid
        rgba(72, 194, 255, 0.18);
}

.promotions-panel-heading-single {
    grid-template-columns:
        1fr;
}

.promotions-panel h3,
.promotions-closing h3 {
    max-width:
        860px;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            30px,
            2.8vw,
            43px
        );

    font-weight:
        900;

    line-height:
        1.06;

    letter-spacing:
        -0.035em;
}

.promotions-panel-heading p {
    max-width:
        920px;

    margin:
        9px
        0
        0;

    color:
        #c5ced9;

    font-size:
        15px;

    line-height:
        1.65;
}

.promotions-panel-mark {
    padding:
        18px
        15px;

    border:
        1px solid
        rgba(255, 199, 47, 0.44);

    border-radius:
        14px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 192, 34, 0.14),
            rgba(89, 55, 154, 0.38)
        );

    text-align:
        center;
}

.promotions-panel-mark span,
.promotions-panel-mark strong,
.promotions-panel-mark small {
    display:
        block;
}

.promotions-panel-mark span {
    color:
        #c4cdd8;

    font-size:
        11px;
}

.promotions-panel-mark strong {
    margin-top:
        6px;

    color:
        #ffd350;

    font-size:
        21px;

    font-weight:
        900;

    line-height:
        1.15;
}

.promotions-panel-mark small {
    margin-top:
        6px;

    color:
        #aeb9c7;

    font-size:
        10px;

    line-height:
        1.4;
}


/*=============================================
             Tournament Feature Cards
=============================================*/

.tournament-feature-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        12px;

    margin-top:
        20px;
}

.tournament-feature-card {
    padding:
        20px;

    border:
        1px solid
        rgba(66, 204, 255, 0.24);

    border-radius:
        15px;

    background:
        linear-gradient(
            145deg,
            #103967,
            #38266d
        );
}

.tournament-feature-card:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #194d72,
            #3d3679
        );
}

.tournament-feature-card-live {
    background:
        linear-gradient(
            145deg,
            #6e351e,
            #713670
        );
}

.promotion-type {
    color:
        #83efff;

    font-size:
        11px;

    font-weight:
        900;

    letter-spacing:
        0.10em;

    text-transform:
        uppercase;
}

.tournament-feature-card h4 {
    margin:
        7px
        0
        0;

    color:
        #ffffff;

    font-size:
        24px;

    font-weight:
        900;
}

.tournament-feature-card > strong {
    display:
        block;

    margin-top:
        5px;

    color:
        #ffd351;

    font-size:
        26px;

    font-weight:
        900;
}

.tournament-feature-card > p {
    min-height:
        102px;

    margin:
        9px
        0
        0;

    color:
        #c5ced9;

    font-size:
        14px;

    line-height:
        1.58;
}

.promotion-tag-row {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        6px;

    margin-top:
        12px;
}

.promotion-tag-row span {
    padding:
        5px
        8px;

    border:
        1px solid
        rgba(83, 226, 255, 0.25);

    border-radius:
        999px;

    background:
        rgba(5, 15, 35, 0.34);

    color:
        #dce5ef;

    font-size:
        10px;

    font-weight:
        800;
}


/*=============================================
                Editorial Layout
=============================================*/

.promotions-editorial-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.30fr)
        minmax(270px, 0.44fr);

    gap:
        38px;

    align-items:
        center;
}

.promotions-editorial-copy h3 {
    max-width:
        850px;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            31px,
            3vw,
            44px
        );

    font-weight:
        900;

    line-height:
        1.06;

    letter-spacing:
        -0.035em;
}

.promotions-editorial-copy p {
    max-width:
        850px;

    margin:
        9px
        0
        0;

    color:
        #c5ced9;

    font-size:
        15px;

    line-height:
        1.65;
}

.promotions-editorial-copy
.promotions-editorial-lead {
    color:
        #ffffff;

    font-size:
        17px;

    font-weight:
        800;

    line-height:
        1.58;
}


/*=============================================
                  Mega Spotlight
=============================================*/

.promotions-mega-spotlight {
    padding:
        23px
        19px;

    border:
        1px solid
        rgba(255, 202, 52, 0.47);

    border-radius:
        17px;

    background:
        linear-gradient(
            145deg,
            #193f79,
            #54317b
        );

    text-align:
        center;
}

.promotions-mega-spotlight span,
.promotions-mega-spotlight strong,
.promotions-mega-spotlight b {
    display:
        block;
}

.promotions-mega-spotlight span {
    color:
        #8df1ff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.promotions-mega-spotlight strong {
    margin-top:
        7px;

    color:
        #ffd354;

    font-size:
        39px;

    font-weight:
        900;

    line-height:
        1;
}

.promotions-mega-spotlight b {
    margin-top:
        6px;

    color:
        #ffffff;

    font-size:
        14px;
}

.promotions-guide-spotlight strong {
    font-size:
        27px;

    line-height:
        1.1;
}


/*=============================================
              Mega Promotion Grid
=============================================*/

.mega-promotion-grid {
    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        11px;

    margin-top:
        21px;
}

.mega-promotion {
    padding:
        18px;

    border:
        1px solid
        rgba(64, 203, 255, 0.22);

    border-radius:
        13px;

    background:
        linear-gradient(
            145deg,
            #123b67,
            #352869
        );
}

.mega-promotion-primary {
    border-color:
        rgba(255, 201, 54, 0.42);

    background:
        linear-gradient(
            145deg,
            #75391d,
            #75366d
        );
}

.mega-promotion > span {
    color:
        #87efff;

    font-size:
        10px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.mega-promotion h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        20px;

    font-weight:
        900;
}

.mega-promotion > strong {
    display:
        block;

    margin-top:
        6px;

    color:
        #ffd351;

    font-size:
        24px;

    font-weight:
        900;
}

.mega-promotion p {
    margin:
        8px
        0
        0;

    color:
        #c3ccd8;

    font-size:
        13px;

    line-height:
        1.55;
}


/*=============================================
                   Story Note
=============================================*/

.promotions-story-note {
    display:
        grid;

    grid-template-columns:
        260px
        1fr;

    gap:
        22px;

    align-items:
        center;

    margin-top:
        14px;

    padding:
        15px
        17px;

    border-left:
        3px solid
        #3ce0ff;

    background:
        rgba(8, 27, 55, 0.52);
}

.promotions-story-note strong {
    color:
        #ffffff;

    font-size:
        14px;

    font-weight:
        900;
}

.promotions-story-note p {
    margin:
        0;

    color:
        #bbc5d2;

    font-size:
        13px;

    line-height:
        1.55;
}


/*=============================================
                 Drops & Lottery
=============================================*/

.drops-feature {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        13px;

    margin-top:
        20px;
}

.drops-main-card {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        145px;

    gap:
        20px;

    align-items:
        center;

    padding:
        21px;

    border:
        1px solid
        rgba(63, 204, 255, 0.24);

    border-radius:
        15px;

    background:
        linear-gradient(
            145deg,
            #103d6e,
            #3d296e
        );
}

.drops-main-card-secondary {
    background:
        linear-gradient(
            145deg,
            #136173,
            #35458c
        );
}

.drops-main-card h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        23px;

    font-weight:
        900;
}

.drops-main-card p {
    margin:
        8px
        0
        0;

    color:
        #c4cdd8;

    font-size:
        13px;

    line-height:
        1.58;
}

.drops-main-card > strong {
    color:
        #ffd351;

    font-size:
        30px;

    font-weight:
        900;

    line-height:
        1;

    text-align:
        center;
}

.drops-main-card > strong small {
    display:
        block;

    margin-top:
        5px;

    color:
        #ffffff;

    font-size:
        11px;

    line-height:
        1.3;
}


/*=============================================
             Promotion Comparison
=============================================*/

.promotion-format-comparison {
    display:
        grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        10px;
}

.promotion-format-comparison article {
    padding:
        16px;

    border:
        1px solid
        rgba(64, 203, 255, 0.18);

    border-radius:
        11px;

    background:
        rgba(7, 27, 54, 0.74);
}

.promotion-format-comparison article > span {
    color:
        #48ddff;

    font-size:
        11px;

    font-weight:
        900;
}

.promotion-format-comparison h4 {
    margin:
        5px
        0
        0;

    color:
        #ffffff;

    font-size:
        18px;

    font-weight:
        900;
}

.promotion-format-comparison p {
    margin:
        7px
        0
        0;

    color:
        #bec8d5;

    font-size:
        13px;

    line-height:
        1.55;
}


/*=============================================
                 Promotion Journey
=============================================*/

.promotion-journey {
    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        10px;

    margin-top:
        21px;
}

.promotion-journey article {
    padding:
        17px;

    border:
        1px solid
        rgba(63, 203, 255, 0.20);

    border-radius:
        12px;

    background:
        linear-gradient(
            145deg,
            rgba(13, 54, 94, 0.84),
            rgba(43, 28, 74, 0.82)
        );
}

.promotion-journey span {
    color:
        #82efff;

    font-size:
        10px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.promotion-journey strong {
    display:
        block;

    margin-top:
        5px;

    color:
        #ffd354;

    font-size:
        18px;

    font-weight:
        900;
}

.promotion-journey p {
    margin:
        7px
        0
        0;

    color:
        #c1cad6;

    font-size:
        13px;

    line-height:
        1.55;
}


/*=============================================
                    Toggles
=============================================*/

.promotions-details-toggle,
.promotions-guide-toggle {
    width:
        100%;

    min-height:
        56px;

    margin-top:
        17px;

    padding:
        0
        14px
        0
        16px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        13px;

    border:
        1px solid
        rgba(67, 212, 255, 0.49);

    border-radius:
        10px;

    background:
        linear-gradient(
            135deg,
            #164d89,
            #54317d
        );

    color:
        #ffffff;

    font:
        inherit;

    text-align:
        left;

    cursor:
        pointer;

    transition:
        filter 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.promotions-details-toggle:hover,
.promotions-details-toggle:focus-visible,
.promotions-guide-toggle:hover,
.promotions-guide-toggle:focus-visible {
    border-color:
        #77efff;

    filter:
        brightness(1.09);

    box-shadow:
        0 0 21px
        rgba(45, 214, 255, 0.14);

    outline:
        none;
}

.promotions-details-toggle > span,
.promotions-guide-toggle > span,
.promotions-details-toggle strong,
.promotions-details-toggle small,
.promotions-guide-toggle strong,
.promotions-guide-toggle small {
    display:
        block;
}

.promotions-details-toggle strong,
.promotions-guide-toggle strong {
    font-size:
        14px;

    font-weight:
        900;

    line-height:
        1.35;
}

.promotions-details-toggle small,
.promotions-guide-toggle small {
    margin-top:
        4px;

    color:
        #d5deea;

    font-size:
        11px;

    line-height:
        1.42;
}

.promotions-details-toggle i,
.promotions-guide-toggle i {
    width:
        29px;

    height:
        29px;

    display:
        grid;

    place-items:
        center;

    flex:
        0 0 29px;

    border-radius:
        50%;

    background:
        linear-gradient(
            135deg,
            #ffe67b,
            #ffc02c
        );

    color:
        #101321;

    font-size:
        18px;

    font-style:
        normal;

    font-weight:
        900;

    transition:
        transform 0.18s ease;
}

.promotions-details-toggle.is-open i,
.promotions-guide-toggle.is-open i {
    transform:
        rotate(45deg);
}


/*=============================================
               Expanded Content
=============================================*/

.promotions-details-content {
    margin-top:
        9px;

    padding:
        19px;

    border:
        1px solid
        rgba(65, 204, 255, 0.20);

    border-radius:
        11px;

    background:
        linear-gradient(
            145deg,
            #091a34,
            #181128
        );
}

.promotions-explanation-grid {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        10px;
}

.promotions-explanation-grid article {
    padding:
        15px;

    border:
        1px solid
        rgba(62, 203, 255, 0.18);

    border-radius:
        10px;

    background:
        rgba(7, 27, 54, 0.74);
}

.promotions-explanation-grid span {
    color:
        #83efff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.promotions-explanation-grid h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        17px;

    font-weight:
        900;
}

.promotions-explanation-grid p {
    margin:
        7px
        0
        0;

    color:
        #c1cad6;

    font-size:
        13px;

    line-height:
        1.55;
}


/*=============================================
                   Questions
=============================================*/

.promotions-guide {
    margin-top:
        20px;
}

.promotions-guide-toggle {
    margin-top:
        0;
}

.promotions-guide-content {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        10px;

    margin-top:
        10px;
}

.promotions-guide-content article {
    padding:
        16px;

    border:
        1px solid
        rgba(63, 203, 255, 0.21);

    border-radius:
        10px;

    background:
        linear-gradient(
            145deg,
            #0c1d38,
            #1b122c
        );
}

.promotions-guide-content article > span {
    color:
        #48ddff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.promotions-guide-content h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        16px;

    font-weight:
        900;

    line-height:
        1.35;
}

.promotions-guide-content p {
    margin:
        7px
        0
        0;

    color:
        #bec8d5;

    font-size:
        13px;

    line-height:
        1.58;
}


/*=============================================
                    Closing
=============================================*/

.promotions-closing {
    display:
        grid;

    grid-template-columns:
        minmax(0, 0.78fr)
        minmax(0, 1.22fr);

    gap:
        40px;

    align-items:
        center;

    margin-top:
        20px;

    padding:
        21px
        23px;

    border:
        1px solid
        rgba(87, 156, 255, 0.26);

    border-radius:
        14px;

    background:
        linear-gradient(
            135deg,
            #0b1730,
            #24143d
        );
}

.promotions-closing h3 {
    font-size:
        clamp(
            26px,
            2.4vw,
            35px
        );
}

.promotions-closing > p {
    margin:
        0;

    color:
        #c3ccd8;

    font-size:
        13px;

    line-height:
        1.65;
}


/*=============================================
              Promotions Responsive
=============================================*/

@media (max-width: 1220px) {

    .promotions-site-navigation,
    .promotions-site-navigation.is-floating,
    .promotions-site-navigation.is-at-bottom {
        position: static;

        width: 100%;

        margin-bottom: 20px;

        transform: none;

        pointer-events: auto;
    }

    .promotions-site-switcher {
        width: 100%;

        flex-direction: row;

        overflow-x: auto;

        scrollbar-width: none;
    }

    .promotions-site-switcher::-webkit-scrollbar {
        display: none;
    }

    .promotions-site-switcher-button {
        min-width: 138px;

        flex:
            0
            0
            auto;
    }

    .promotions-intro {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(330px, 0.60fr);

        column-gap:
            28px;
    }

    .promotions-headlines,
    .promotions-tabs {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .mega-promotion-grid,
    .promotion-journey {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .promotions-intro {
        display: block;
    }

    .promotions-intro-copy {
        display: block;
    }

    .promotions-intro-media {
        width:
            min(
                620px,
                100%
            );

        margin:
            22px
            0
            0;
    }

    .promotions-intro-copy > p:nth-of-type(2),
    .promotions-intro-copy > p:nth-of-type(3) {
        margin-top:
            10px;
    }

    .promotions-panel-heading,
    .promotions-editorial-layout {
        grid-template-columns:
            1fr;
    }

    .promotions-panel-mark,
    .promotions-mega-spotlight {
        max-width:
            300px;
    }

    .tournament-feature-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .drops-feature {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 760px) {

    .promotions-section {
        padding:
            30px
            12px
            56px;
    }

    .promotions-container {
        width:
            100%;
    }

    .promotions-intro h2 {
        font-size:
            clamp(
                36px,
                10vw,
                44px
            );
    }

    .promotions-intro-copy .promotions-intro-lead {
        font-size:
            17px;
    }

    .promotions-intro-copy > p:nth-of-type(2),
    .promotions-intro-copy > p:nth-of-type(3) {
        font-size:
            14px;
    }

    .promotions-headlines {
        grid-template-columns:
            1fr;
    }

    .promotions-tabs {
        display:
            flex;

        gap:
            8px;

        overflow-x:
            auto;

        scrollbar-width:
            none;
    }

    .promotions-tabs::-webkit-scrollbar {
        display:
            none;
    }

    .promotions-tab {
        min-width:
            195px;

        flex:
            0
            0
            auto;
    }

    .promotions-panel {
        padding:
            20px
            15px;
    }

    .tournament-feature-grid,
    .mega-promotion-grid,
    .promotion-format-comparison,
    .promotion-journey,
    .promotions-explanation-grid,
    .promotions-guide-content,
    .promotions-story-note,
    .promotions-closing {
        grid-template-columns:
            1fr;
    }

    .tournament-feature-card > p {
        min-height:
            0;
    }

    .drops-main-card {
        grid-template-columns:
            1fr;
    }

    .drops-main-card > strong {
        text-align:
            left;
    }

}


@media (max-width: 480px) {

    .promotions-site-switcher-button {
        min-width:
            126px;
    }

    .promotions-tab {
        min-width:
            176px;
    }

    .promotions-panel h3,
    .promotions-editorial-copy h3 {
        font-size:
            29px;
    }

}


/*=============================================
             Reduced Motion Support
=============================================*/

@media (prefers-reduced-motion: reduce) {

    .promotions-site-switcher-button,
    .promotions-tab,
    .promotions-details-toggle,
    .promotions-guide-toggle,
    .promotions-details-toggle i,
    .promotions-guide-toggle i {
        transition:
            none;
    }

    .promotions-panel.is-active {
        animation:
            none;
    }

}


/*=============================================
           Promotions & Tournaments End
=============================================*/


/*=============================================
                    VIP Start
=============================================*/

.vip-section {
    position:
        relative;

    padding:
        46px
        20px
        68px;

    overflow:
        visible;

    color:
        #ffffff;

    background:
        radial-gradient(
            circle at 7% 7%,
            rgba(0, 219, 255, 0.15),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 9%,
            rgba(128, 70, 255, 0.21),
            transparent 30%
        ),
        radial-gradient(
            circle at 74% 76%,
            rgba(255, 193, 45, 0.09),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #050817 0%,
            #081027 43%,
            #120a24 76%,
            #060817 100%
        );
}

.vip-section[hidden] {
    display:
        none !important;
}

.vip-container {
    position:
        relative;

    width:
        min(
            calc(100% - 8px),
            1320px
        );

    margin:
        0 auto;
}

.vip-shell {
    position:
        relative;

    width:
        100%;
}

.vip-main {
    width:
        100%;

    min-width:
        0;
}


/*=============================================
              Section Navigation
=============================================*/

.vip-site-navigation {
    position:
        absolute;

    top:
        0;

    left:
        -166px;

    width:
        140px;

    z-index:
        80;

    pointer-events:
        none;
}

.vip-site-switcher {
    width:
        140px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        7px;

    pointer-events:
        auto;
}

.vip-site-navigation.is-floating {
    position:
        fixed;

    top:
        50%;

    left:
        max(
            18px,
            calc(
                50% -
                660px -
                166px
            )
        );

    transform:
        translateY(-50%);
}

.vip-site-navigation.is-at-bottom {
    position:
        absolute;

    top:
        auto;

    bottom:
        0;

    left:
        -166px;

    transform:
        none;
}

.vip-site-switcher-button {
    width:
        100%;

    min-height:
        48px;

    padding:
        8px
        9px;

    border:
        1px solid
        rgba(83, 233, 255, 0.94);

    border-radius:
        12px;

    background:
        linear-gradient(
            135deg,
            #1046ac 0%,
            #087fd7 48%,
            #11d7ec 100%
        );

    color:
        #ffffff;

    font:
        inherit;

    font-size:
        12px;

    font-weight:
        900;

    line-height:
        1.2;

    text-align:
        center;

    cursor:
        pointer;

    text-shadow:
        0 2px 6px
        rgba(0, 0, 0, 0.34);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.18),

        0 7px 17px
        rgba(0, 0, 0, 0.24),

        0 0 18px
        rgba(24, 217, 255, 0.20);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.vip-site-switcher-button:hover,
.vip-site-switcher-button:focus-visible {
    transform:
        translateX(4px);

    border-color:
        #b8f9ff;

    filter:
        brightness(1.10);

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 25px
        rgba(35, 225, 255, 0.32);

    outline:
        none;
}

.vip-site-switcher-button.is-active {
    transform:
        translateX(4px);

    border-color:
        #fff4a5;

    background:
        linear-gradient(
            135deg,
            #fff18e 0%,
            #ffd047 45%,
            #f1a20e 100%
        );

    color:
        #0b1224;

    text-shadow:
        none;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.27),

        0 0 28px
        rgba(255, 196, 42, 0.46);
}


/*=============================================
               VIP Introduction
=============================================*/

.vip-intro {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.13fr)
        minmax(370px, 0.62fr);

    grid-template-rows:
        auto
        auto
        auto;

    column-gap:
        42px;

    row-gap:
        0;

    align-items:
        start;

    margin-bottom:
        23px;
}


/*
    Existing HTML stays untouched.
    Children of vip-intro-copy join the intro grid.
*/

.vip-intro-copy {
    display:
        contents;
}

.vip-eyebrow {
    grid-column:
        1;

    grid-row:
        1;

    align-self:
        end;

    display:
        block;

    margin:
        0
        0
        9px;

    color:
        #48e5ff;

    font-size:
        12px;

    font-weight:
        900;

    line-height:
        1.3;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;
}

.vip-intro h2 {
    grid-column:
        1;

    grid-row:
        2;

    max-width:
        810px;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            42px,
            4.05vw,
            60px
        );

    font-weight:
        900;

    line-height:
        1.01;

    letter-spacing:
        -0.045em;
}

.vip-intro-copy .vip-intro-lead {
    grid-column:
        1;

    grid-row:
        3;

    max-width:
        830px;

    margin:
        13px
        0
        0;

    color:
        #ffffff;

    font-size:
        17px;

    font-weight:
        800;

    line-height:
        1.58;
}


/* VIP photo occupies the complete right area */

.vip-intro-media {
    grid-column:
        2;

    grid-row:
        1 / span 3;

    align-self:
        start;

    width:
        100%;

    margin:
        0;

    overflow:
        hidden;

    border:
        1px solid
        rgba(255, 202, 54, 0.60);

    border-radius:
        21px;

    background:
        #09142f;

    box-shadow:
        0 20px 46px
        rgba(0, 0, 0, 0.32),

        0 0 26px
        rgba(255, 196, 40, 0.11);
}

.vip-intro-media img {
    display:
        block;

    width:
        100%;

    height:
        auto;

    object-fit:
        contain;

    object-position:
        center;
}


/* Remaining VIP intro text sits below the photo */

.vip-intro-copy > p:nth-of-type(2) {
    grid-column:
        1 / -1;

    grid-row:
        4;

    max-width:
        none;

    margin:
        17px
        0
        0;

    color:
        #c8d0dc;

    font-size:
        15px;

    line-height:
        1.65;
}

.vip-intro-copy > p:nth-of-type(3) {
    grid-column:
        1 / -1;

    grid-row:
        5;

    max-width:
        none;

    margin:
        9px
        0
        0;

    color:
        #c8d0dc;

    font-size:
        15px;

    line-height:
        1.65;
}


/*=============================================
                   VIP Kicker
=============================================*/

.vip-panel-kicker {
    display:
        block;

    margin-bottom:
        9px;

    color:
        #48e5ff;

    font-size:
        12px;

    font-weight:
        900;

    line-height:
        1.3;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;
}


/*=============================================
                    Overview
=============================================*/

.vip-overview {
    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        10px;

    margin-bottom:
        13px;
}

.vip-overview article {
    padding:
        15px;

    border:
        1px solid
        rgba(64, 203, 255, 0.22);

    border-radius:
        13px;

    background:
        linear-gradient(
            145deg,
            #103961,
            #302769
        );
}

.vip-overview article:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #382470,
            #65358a
        );
}

.vip-overview article:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #11556d,
            #354788
        );
}

.vip-overview article:nth-child(4) {
    border-color:
        rgba(255, 200, 55, 0.34);

    background:
        linear-gradient(
            145deg,
            #6a361f,
            #63356c
        );
}

.vip-overview span,
.vip-overview strong,
.vip-overview small {
    display:
        block;
}

.vip-overview span {
    color:
        #88efff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.vip-overview strong {
    margin-top:
        5px;

    color:
        #ffd351;

    font-size:
        21px;

    font-weight:
        900;

    line-height:
        1.15;
}

.vip-overview small {
    margin-top:
        5px;

    color:
        #ccd4df;

    font-size:
        11px;

    line-height:
        1.4;
}


/*=============================================
                    VIP Tabs
=============================================*/

.vip-tabs {
    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        9px;

    margin-bottom:
        14px;
}

.vip-tab {
    min-height:
        81px;

    padding:
        12px
        14px;

    border:
        1px solid
        rgba(84, 199, 255, 0.54);

    border-radius:
        14px;

    background:
        linear-gradient(
            135deg,
            #123f83,
            #2555a3 48%,
            #5933a7
        );

    color:
        #ffffff;

    text-align:
        left;

    cursor:
        pointer;

    box-shadow:
        0 9px 22px
        rgba(0, 0, 0, 0.24);

    transition:
        transform 0.18s ease,
        filter 0.18s ease,
        box-shadow 0.18s ease;
}

.vip-tab:nth-child(2) {
    background:
        linear-gradient(
            135deg,
            #72431c,
            #d17924,
            #8f497d
        );
}

.vip-tab:nth-child(3) {
    background:
        linear-gradient(
            135deg,
            #087b87,
            #12b4a4,
            #2b64c6
        );
}

.vip-tab:nth-child(4) {
    background:
        linear-gradient(
            135deg,
            #542990,
            #9348ce,
            #3765d1
        );
}

.vip-tab:hover,
.vip-tab:focus-visible {
    transform:
        translateY(-3px);

    filter:
        brightness(1.10);

    outline:
        none;
}

.vip-tab.is-active {
    transform:
        translateY(-2px);

    border-color:
        #fff3a0;

    background:
        linear-gradient(
            135deg,
            #fff080,
            #ffca39 52%,
            #efa008
        );

    color:
        #0b1121;

    box-shadow:
        0 12px 27px
        rgba(0, 0, 0, 0.29),

        0 0 26px
        rgba(255, 194, 42, 0.36);
}

.vip-tab span,
.vip-tab strong,
.vip-tab small {
    display:
        block;
}

.vip-tab span {
    font-size:
        11px;

    font-weight:
        800;

    opacity:
        0.82;
}

.vip-tab strong {
    margin-top:
        5px;

    font-size:
        18px;

    font-weight:
        900;

    line-height:
        1.2;
}

.vip-tab small {
    margin-top:
        5px;

    font-size:
        11px;

    font-weight:
        700;

    line-height:
        1.35;

    opacity:
        0.80;
}


/*=============================================
                    VIP Panel
=============================================*/

.vip-panel {
    padding:
        27px;

    border:
        1px solid
        rgba(72, 177, 255, 0.27);

    border-radius:
        20px;

    background:
        radial-gradient(
            circle at 94% 5%,
            rgba(104, 73, 255, 0.13),
            transparent 27%
        ),
        linear-gradient(
            145deg,
            #091831,
            #14162f 50%,
            #1a102c
        );

    box-shadow:
        0 19px 45px
        rgba(0, 0, 0, 0.28);
}

.vip-panel[hidden],
.vip-details-content[hidden],
.vip-guide-content[hidden] {
    display:
        none !important;
}

.vip-panel.is-active {
    animation:
        vipPanelFade
        0.23s
        ease;
}

@keyframes vipPanelFade {

    from {
        opacity:
            0;

        transform:
            translateY(4px);
    }

    to {
        opacity:
            1;

        transform:
            translateY(0);
    }

}


/*=============================================
                  Panel Heading
=============================================*/

.vip-panel-heading {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        235px;

    gap:
        32px;

    align-items:
        center;

    padding-bottom:
        20px;

    border-bottom:
        1px solid
        rgba(72, 194, 255, 0.18);
}

.vip-panel-heading-single {
    grid-template-columns:
        1fr;
}

.vip-panel h3,
.vip-closing h3,
.vip-philosophy h3 {
    max-width:
        860px;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            30px,
            2.8vw,
            43px
        );

    font-weight:
        900;

    line-height:
        1.06;

    letter-spacing:
        -0.035em;
}

.vip-panel-heading p {
    max-width:
        920px;

    margin:
        9px
        0
        0;

    color:
        #c5ced9;

    font-size:
        15px;

    line-height:
        1.65;
}

.vip-panel-mark {
    padding:
        19px
        16px;

    border:
        1px solid
        rgba(255, 199, 47, 0.44);

    border-radius:
        14px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 192, 34, 0.14),
            rgba(89, 55, 154, 0.38)
        );

    text-align:
        center;
}

.vip-panel-mark span,
.vip-panel-mark strong,
.vip-panel-mark small {
    display:
        block;
}

.vip-panel-mark span {
    color:
        #c4cdd8;

    font-size:
        11px;
}

.vip-panel-mark strong {
    margin-top:
        6px;

    color:
        #ffd350;

    font-size:
        21px;

    font-weight:
        900;

    line-height:
        1.15;
}

.vip-panel-mark small {
    margin-top:
        6px;

    color:
        #aeb9c7;

    font-size:
        10px;

    line-height:
        1.4;
}


/*=============================================
                    VIP Journey
=============================================*/

.vip-journey-grid {
    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        11px;

    margin-top:
        20px;
}

.vip-journey-grid article,
.vip-check-grid article {
    padding:
        18px;

    border:
        1px solid
        rgba(64, 203, 255, 0.21);

    border-radius:
        13px;

    background:
        linear-gradient(
            145deg,
            #103961,
            #302769
        );
}

.vip-journey-grid article:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #31316f,
            #5c3482
        );
}

.vip-journey-grid article:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #12546c,
            #37488b
        );
}

.vip-journey-grid article:nth-child(4) {
    background:
        linear-gradient(
            145deg,
            #69351e,
            #65356d
        );
}

.vip-journey-grid span,
.vip-check-grid span {
    color:
        #84efff;

    font-size:
        10px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.vip-journey-grid h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        21px;

    font-weight:
        900;
}

.vip-journey-grid p,
.vip-check-grid p {
    margin:
        8px
        0
        0;

    color:
        #c2cbd7;

    font-size:
        13px;

    line-height:
        1.58;
}


/*=============================================
                Editorial Layout
=============================================*/

.vip-editorial-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.30fr)
        minmax(270px, 0.44fr);

    gap:
        38px;

    align-items:
        center;
}

.vip-editorial-copy h3 {
    max-width:
        850px;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            31px,
            3vw,
            44px
        );

    font-weight:
        900;

    line-height:
        1.06;

    letter-spacing:
        -0.035em;
}

.vip-editorial-copy p {
    max-width:
        850px;

    margin:
        9px
        0
        0;

    color:
        #c5ced9;

    font-size:
        15px;

    line-height:
        1.65;
}

.vip-editorial-copy
.vip-editorial-lead {
    color:
        #ffffff;

    font-size:
        17px;

    font-weight:
        800;

    line-height:
        1.58;
}


/*=============================================
              Cashback / Guide Spotlight
=============================================*/

.vip-cashback-spotlight,
.vip-guide-spotlight {
    padding:
        23px
        19px;

    border:
        1px solid
        rgba(255, 202, 52, 0.47);

    border-radius:
        17px;

    background:
        linear-gradient(
            145deg,
            #193f79,
            #54317b
        );

    text-align:
        center;
}

.vip-cashback-spotlight span,
.vip-cashback-spotlight strong,
.vip-cashback-spotlight b,
.vip-cashback-spotlight small,
.vip-guide-spotlight span,
.vip-guide-spotlight strong,
.vip-guide-spotlight b {
    display:
        block;
}

.vip-cashback-spotlight span,
.vip-guide-spotlight span {
    color:
        #8df1ff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.vip-cashback-spotlight strong {
    margin-top:
        7px;

    color:
        #ffd354;

    font-size:
        42px;

    font-weight:
        900;

    line-height:
        1;
}

.vip-cashback-spotlight b {
    margin-top:
        4px;

    color:
        #ffffff;

    font-size:
        16px;
}

.vip-cashback-spotlight small {
    margin-top:
        7px;

    color:
        #d0d8e4;

    font-size:
        11px;
}

.vip-guide-spotlight strong {
    margin-top:
        7px;

    color:
        #ffd354;

    font-size:
        27px;

    font-weight:
        900;

    line-height:
        1.1;
}

.vip-guide-spotlight b {
    margin-top:
        7px;

    color:
        #ffffff;

    font-size:
        13px;
}


/*=============================================
                 Cashback Path
=============================================*/

.vip-cashback-path {
    display:
        grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        12px;

    margin-top:
        20px;
}

.vip-cashback-path article {
    padding:
        19px;

    border:
        1px solid
        rgba(63, 203, 255, 0.22);

    border-radius:
        14px;

    background:
        linear-gradient(
            145deg,
            #103d6c,
            #37296d
        );
}

.vip-cashback-path article:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #14586e,
            #354687
        );
}

.vip-cashback-path .vip-cashback-card {
    border-color:
        rgba(255, 200, 54, 0.42);

    background:
        linear-gradient(
            145deg,
            #6e391e,
            #71366f
        );
}

.vip-cashback-path span {
    color:
        #87efff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.vip-cashback-path strong {
    display:
        block;

    margin-top:
        6px;

    color:
        #ffd351;

    font-size:
        27px;

    font-weight:
        900;
}

.vip-cashback-path p {
    margin:
        8px
        0
        0;

    color:
        #c3ccd8;

    font-size:
        13px;

    line-height:
        1.58;
}


/*=============================================
                 Privilege Grid
=============================================*/

.vip-privilege-grid {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        12px;

    margin-top:
        20px;
}

.vip-privilege-grid article {
    padding:
        20px;

    border:
        1px solid
        rgba(64, 203, 255, 0.22);

    border-radius:
        14px;

    background:
        linear-gradient(
            145deg,
            #103866,
            #34276a
        );
}

.vip-privilege-grid article:nth-child(2) {
    background:
        linear-gradient(
            145deg,
            #14566f,
            #354789
        );
}

.vip-privilege-grid article:nth-child(3) {
    background:
        linear-gradient(
            145deg,
            #3d2f70,
            #693987
        );
}

.vip-privilege-grid article:nth-child(4) {
    background:
        linear-gradient(
            145deg,
            #6d361e,
            #64356d
        );
}

.vip-privilege-grid span {
    color:
        #83efff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.vip-privilege-grid h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        22px;

    font-weight:
        900;
}

.vip-privilege-grid p {
    margin:
        8px
        0
        0;

    color:
        #c4cdd8;

    font-size:
        14px;

    line-height:
        1.6;
}


/*=============================================
                    Philosophy
=============================================*/

.vip-philosophy {
    display:
        grid;

    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(0, 1.25fr);

    gap:
        38px;

    align-items:
        center;

    margin-top:
        18px;

    padding:
        20px;

    border-left:
        3px solid
        #42e0ff;

    background:
        rgba(8, 27, 55, 0.50);
}

.vip-philosophy h3 {
    font-size:
        clamp(
            25px,
            2.3vw,
            34px
        );
}

.vip-philosophy > p {
    margin:
        0;

    color:
        #c2cbd7;

    font-size:
        13px;

    line-height:
        1.62;
}


/*=============================================
                    VIP Checks
=============================================*/

.vip-check-grid {
    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        10px;

    margin-top:
        21px;
}

.vip-check-grid strong {
    display:
        block;

    margin-top:
        6px;

    color:
        #ffd354;

    font-size:
        17px;

    font-weight:
        900;

    line-height:
        1.3;
}


/*=============================================
                    Toggles
=============================================*/

.vip-details-toggle,
.vip-guide-toggle {
    width:
        100%;

    min-height:
        56px;

    margin-top:
        17px;

    padding:
        0
        14px
        0
        16px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        13px;

    border:
        1px solid
        rgba(67, 212, 255, 0.49);

    border-radius:
        10px;

    background:
        linear-gradient(
            135deg,
            #164d89,
            #54317d
        );

    color:
        #ffffff;

    font:
        inherit;

    text-align:
        left;

    cursor:
        pointer;

    transition:
        filter 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.vip-details-toggle:hover,
.vip-details-toggle:focus-visible,
.vip-guide-toggle:hover,
.vip-guide-toggle:focus-visible {
    border-color:
        #77efff;

    filter:
        brightness(1.09);

    box-shadow:
        0 0 21px
        rgba(45, 214, 255, 0.14);

    outline:
        none;
}

.vip-details-toggle > span,
.vip-guide-toggle > span,
.vip-details-toggle strong,
.vip-details-toggle small,
.vip-guide-toggle strong,
.vip-guide-toggle small {
    display:
        block;
}

.vip-details-toggle strong,
.vip-guide-toggle strong {
    font-size:
        14px;

    font-weight:
        900;

    line-height:
        1.35;
}

.vip-details-toggle small,
.vip-guide-toggle small {
    margin-top:
        4px;

    color:
        #d5deea;

    font-size:
        11px;

    line-height:
        1.42;
}

.vip-details-toggle i,
.vip-guide-toggle i {
    width:
        29px;

    height:
        29px;

    display:
        grid;

    place-items:
        center;

    flex:
        0 0 29px;

    border-radius:
        50%;

    background:
        linear-gradient(
            135deg,
            #ffe67b,
            #ffc02c
        );

    color:
        #101321;

    font-size:
        18px;

    font-style:
        normal;

    font-weight:
        900;

    transition:
        transform 0.18s ease;
}

.vip-details-toggle.is-open i,
.vip-guide-toggle.is-open i {
    transform:
        rotate(45deg);
}


/*=============================================
               Expanded Content
=============================================*/

.vip-details-content {
    margin-top:
        9px;

    padding:
        19px;

    border:
        1px solid
        rgba(65, 204, 255, 0.20);

    border-radius:
        11px;

    background:
        linear-gradient(
            145deg,
            #091a34,
            #181128
        );
}

.vip-details-content > p {
    margin:
        0;

    color:
        #c8d0dc;

    font-size:
        14px;

    line-height:
        1.65;
}

.vip-details-content > p + p {
    margin-top:
        10px;
}

.vip-explanation-grid {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        10px;
}

.vip-explanation-grid article {
    padding:
        15px;

    border:
        1px solid
        rgba(62, 203, 255, 0.18);

    border-radius:
        10px;

    background:
        rgba(7, 27, 54, 0.74);
}

.vip-explanation-grid span {
    color:
        #83efff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.vip-explanation-grid h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        17px;

    font-weight:
        900;
}

.vip-explanation-grid p {
    margin:
        7px
        0
        0;

    color:
        #c1cad6;

    font-size:
        13px;

    line-height:
        1.55;
}


/*=============================================
                    Questions
=============================================*/

.vip-guide {
    margin-top:
        20px;
}

.vip-guide-toggle {
    margin-top:
        0;
}

.vip-guide-content {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        10px;

    margin-top:
        10px;
}

.vip-guide-content article {
    padding:
        16px;

    border:
        1px solid
        rgba(63, 203, 255, 0.21);

    border-radius:
        10px;

    background:
        linear-gradient(
            145deg,
            #0c1d38,
            #1b122c
        );
}

.vip-guide-content article > span {
    color:
        #48ddff;

    font-size:
        11px;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.vip-guide-content h4 {
    margin:
        6px
        0
        0;

    color:
        #ffffff;

    font-size:
        16px;

    font-weight:
        900;

    line-height:
        1.35;
}

.vip-guide-content p {
    margin:
        7px
        0
        0;

    color:
        #bec8d5;

    font-size:
        13px;

    line-height:
        1.58;
}


/*=============================================
                    Closing
=============================================*/

.vip-closing {
    display:
        grid;

    grid-template-columns:
        minmax(0, 0.78fr)
        minmax(0, 1.22fr);

    gap:
        40px;

    align-items:
        center;

    margin-top:
        20px;

    padding:
        21px
        23px;

    border:
        1px solid
        rgba(87, 156, 255, 0.26);

    border-radius:
        14px;

    background:
        linear-gradient(
            135deg,
            #0b1730,
            #24143d
        );
}

.vip-closing h3 {
    font-size:
        clamp(
            26px,
            2.4vw,
            35px
        );
}

.vip-closing > p {
    margin:
        0;

    color:
        #c3ccd8;

    font-size:
        13px;

    line-height:
        1.65;
}


/*=============================================
               VIP Responsive
=============================================*/

@media (max-width: 1220px) {

    .vip-site-navigation,
    .vip-site-navigation.is-floating,
    .vip-site-navigation.is-at-bottom {
        position:
            static;

        width:
            100%;

        margin-bottom:
            20px;

        transform:
            none;

        pointer-events:
            auto;
    }

    .vip-site-switcher {
        width:
            100%;

        flex-direction:
            row;

        overflow-x:
            auto;

        scrollbar-width:
            none;
    }

    .vip-site-switcher::-webkit-scrollbar {
        display:
            none;
    }

    .vip-site-switcher-button {
        min-width:
            138px;

        flex:
            0
            0
            auto;
    }

    .vip-intro {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(330px, 0.60fr);

        column-gap:
            28px;
    }

    .vip-overview,
    .vip-tabs {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .vip-journey-grid,
    .vip-check-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .vip-intro {
        display:
            block;
    }

    .vip-intro-copy {
        display:
            block;
    }

    .vip-intro-media {
        width:
            min(
                620px,
                100%
            );

        margin:
            22px
            0
            0;
    }

    .vip-intro-copy > p:nth-of-type(2),
    .vip-intro-copy > p:nth-of-type(3) {
        margin-top:
            10px;
    }

    .vip-panel-heading,
    .vip-editorial-layout,
    .vip-philosophy {
        grid-template-columns:
            1fr;
    }

    .vip-panel-mark,
    .vip-cashback-spotlight,
    .vip-guide-spotlight {
        max-width:
            310px;
    }

}


@media (max-width: 760px) {

    .vip-section {
        padding:
            30px
            12px
            56px;
    }

    .vip-container {
        width:
            100%;
    }

    .vip-intro h2 {
        font-size:
            clamp(
                36px,
                10vw,
                44px
            );
    }

    .vip-intro-copy .vip-intro-lead {
        font-size:
            17px;
    }

    .vip-intro-copy > p:nth-of-type(2),
    .vip-intro-copy > p:nth-of-type(3) {
        font-size:
            14px;
    }

    .vip-overview {
        grid-template-columns:
            1fr;
    }

    .vip-tabs {
        display:
            flex;

        gap:
            8px;

        overflow-x:
            auto;

        scrollbar-width:
            none;
    }

    .vip-tabs::-webkit-scrollbar {
        display:
            none;
    }

    .vip-tab {
        min-width:
            190px;

        flex:
            0
            0
            auto;
    }

    .vip-panel {
        padding:
            20px
            15px;
    }

    .vip-journey-grid,
    .vip-cashback-path,
    .vip-privilege-grid,
    .vip-check-grid,
    .vip-explanation-grid,
    .vip-guide-content,
    .vip-closing {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 480px) {

    .vip-site-switcher-button {
        min-width:
            126px;
    }

    .vip-tab {
        min-width:
            172px;
    }

    .vip-panel h3,
    .vip-editorial-copy h3 {
        font-size:
            29px;
    }

}


/*=============================================
             Reduced Motion Support
=============================================*/

@media (prefers-reduced-motion: reduce) {

    .vip-site-switcher-button,
    .vip-tab,
    .vip-details-toggle,
    .vip-guide-toggle,
    .vip-details-toggle i,
    .vip-guide-toggle i {
        transition:
            none;
    }

    .vip-panel.is-active {
        animation:
            none;
    }

}


/*=============================================
                     VIP End
=============================================*/
/*=============================================
                  Footer Start
=============================================*/

.site-footer {
    position: relative;

    padding:
        22px
        20px
        12px;

    overflow: hidden;

    color:
        #dbe9f7;

    background:
        radial-gradient(
            circle at 8% 0%,
            rgba(22, 217, 255, 0.09),
            transparent 26%
        ),
        radial-gradient(
            circle at 92% 100%,
            rgba(255, 195, 61, 0.07),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            #041226 0%,
            #031020 52%,
            #020817 100%
        );

    border-top:
        1px solid
        rgba(255, 200, 61, 0.18);
}


.site-footer::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width:
        min(
            100%,
            1320px
        );

    height: 1px;

    transform:
        translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(22, 217, 255, 0.50),
            rgba(255, 200, 61, 0.46),
            transparent
        );

    pointer-events: none;
}


.footer-container {
    position: relative;

    z-index: 1;

    width:
        min(
            100%,
            1320px
        );

    margin:
        0 auto;
}


/*=============================================
                  Main Footer Grid
=============================================*/

.footer-main {
    display: grid;

    grid-template-columns:
        minmax(320px, 1.22fr)
        minmax(160px, 0.56fr)
        minmax(185px, 0.66fr)
        minmax(185px, 0.60fr);

    gap:
        22px;

    align-items:
        start;
}


/*=============================================
                     Brand
=============================================*/

.footer-brand {
    max-width:
        440px;
}


.footer-logo {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;
}


.footer-logo-mark {
    width:
        42px;

    height:
        42px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-shrink:
        0;

    border:
        2px solid
        rgba(22, 217, 255, 0.92);

    border-radius:
        50%;

    background:
        linear-gradient(
            145deg,
            #172268 0%,
            #5a3de1 50%,
            #16d9ff 100%
        );

    color:
        #ffffff;

    font-size:
        22px;

    font-weight:
        900;

    font-style:
        italic;

    line-height:
        1;

    box-shadow:
        0 0 18px
        rgba(22, 217, 255, 0.28);
}


.footer-logo-text {
    display:
        flex;

    flex-direction:
        column;

    line-height:
        1;
}


.footer-logo-text strong {
    color:
        #ffffff;

    font-size:
        18px;

    font-weight:
        900;

    letter-spacing:
        0.075em;
}


.footer-logo-text small {
    margin-top:
        5px;

    color:
        var(--gold-main);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        0.32em;
}


.footer-brand-lead {
    margin:
        10px
        0
        0;

    color:
        #e6edf7;

    font-size:
        14px;

    font-weight:
        700;

    line-height:
        1.48;
}


/*=============================================
                    Badges
=============================================*/

.footer-badges {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        6px;

    margin-top:
        10px;
}


.footer-badges span {
    min-height:
        25px;

    padding:
        4px
        9px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        rgba(22, 217, 255, 0.25);

    border-radius:
        999px;

    background:
        rgba(22, 217, 255, 0.05);

    color:
        #8fefff;

    font-size:
        10px;

    font-weight:
        900;

    line-height:
        1;
}


.footer-badges span:first-child {
    border-color:
        rgba(255, 195, 61, 0.42);

    background:
        rgba(255, 195, 61, 0.06);

    color:
        var(--gold-light);
}


/*=============================================
                  Footer Links
=============================================*/

.footer-links h3 {
    margin:
        1px
        0
        9px;

    color:
        #ffffff;

    font-size:
        16px;

    font-weight:
        900;

    line-height:
        1.2;
}


.footer-links ul {
    margin:
        0;

    padding:
        0;

    list-style:
        none;
}


.footer-links li + li {
    margin-top:
        5px;
}


.footer-links a {
    display:
        inline-block;

    color:
        rgba(218, 228, 241, 0.78);

    font-size:
        13px;

    font-weight:
        700;

    line-height:
        1.38;

    transition:
        color var(--transition-fast),
        transform var(--transition-fast),
        text-shadow var(--transition-fast);
}


.footer-links a:hover,
.footer-links a:focus-visible {
    color:
        #75edff;

    transform:
        translateX(3px);

    text-shadow:
        0 0 12px
        rgba(22, 217, 255, 0.30);

    outline:
        none;
}


.footer-legal a:hover,
.footer-legal a:focus-visible {
    color:
        var(--gold-light);

    text-shadow:
        0 0 12px
        rgba(255, 195, 61, 0.22);
}


/*=============================================
              Responsible Gambling
=============================================*/

.footer-responsible {
    margin-top:
        16px;

    padding:
        10px
        0;

    display:
        grid;

    grid-template-columns:
        42px
        minmax(0, 1fr);

    gap:
        13px;

    align-items:
        center;

    border-top:
        1px solid
        rgba(104, 142, 182, 0.13);

    border-bottom:
        1px solid
        rgba(104, 142, 182, 0.13);
}


.footer-age {
    width:
        42px;

    height:
        42px;

    display:
        grid;

    place-items:
        center;

    border:
        2px solid
        var(--gold-main);

    border-radius:
        50%;

    background:
        rgba(255, 200, 61, 0.05);

    color:
        var(--gold-light);

    font-size:
        13px;

    font-weight:
        900;

    line-height:
        1;

    box-shadow:
        0 0 15px
        rgba(255, 200, 61, 0.10);
}


.footer-responsible-content {
    display:
        grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    gap:
        15px;

    align-items:
        center;
}


.footer-responsible-content strong {
    display:
        block;

    color:
        #ffffff;

    font-size:
        14px;

    font-weight:
        900;

    line-height:
        1.3;

    white-space:
        nowrap;
}


.footer-responsible-content p {
    margin:
        0;

    color:
        rgba(205, 218, 234, 0.76);

    font-size:
        12px;

    line-height:
        1.45;
}


.footer-responsible-content a {
    color:
        var(--gold-light);

    font-weight:
        800;

    text-decoration:
        underline;

    text-decoration-thickness:
        1px;

    text-underline-offset:
        3px;
}


.footer-responsible-content a:hover,
.footer-responsible-content a:focus-visible {
    color:
        #fff0ad;
}


/*=============================================
                  Footer Bottom
=============================================*/

.footer-bottom {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        22px;

    padding-top:
        9px;
}


.footer-bottom p {
    margin:
        0;

    color:
        rgba(196, 211, 228, 0.58);

    font-size:
        11px;

    line-height:
        1.4;
}


.footer-bottom-note {
    text-align:
        right;
}


/*=============================================
                  Tablet
=============================================*/

@media (max-width: 1050px) {

    .footer-main {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            24px
            36px;
    }


    .footer-brand {
        max-width:
            none;
    }


    .footer-brand-lead {
        max-width:
            580px;
    }


    .footer-responsible-content {
        grid-template-columns:
            1fr;

        gap:
            3px;
    }


    .footer-responsible-content strong {
        white-space:
            normal;
    }

}


/*=============================================
                  Mobile
=============================================*/

@media (max-width: 620px) {

    .site-footer {
        padding:
            22px
            14px
            14px;
    }


    .footer-main {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            22px
            18px;
    }


    .footer-brand {
        grid-column:
            1 / -1;
    }


    .footer-brand-lead {
        max-width:
            none;

        font-size:
            13px;
    }


    .footer-links h3 {
        font-size:
            15px;
    }


    .footer-links a {
        font-size:
            12px;
    }


    .footer-responsible {
        margin-top:
            15px;

        grid-template-columns:
            38px
            minmax(0, 1fr);

        gap:
            11px;

        padding:
            10px
            0;
    }


    .footer-age {
        width:
            38px;

        height:
            38px;
    }


    .footer-responsible-content {
        grid-template-columns:
            1fr;
    }


    .footer-responsible-content p {
        font-size:
            11px;
    }


    .footer-bottom {
        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            5px;
    }


    .footer-bottom-note {
        text-align:
            left;
    }

}


@media (max-width: 420px) {

    .footer-main {
        grid-template-columns:
            1fr;
    }


    .footer-brand {
        grid-column:
            auto;
    }

}


/*=============================================
                   Footer End
=============================================*/
/*=============================================
       Expandable Cards Height Fix Start
=============================================*/

/*
    Bonus welcome cards:
    only the card whose details are opened
    is allowed to grow in height.
*/

.welcome-path {
    align-items: start;
}

.welcome-card {
    height: auto;
    min-height: 0;
    align-self: start;
}


/*
    Reload cards use the same principle.
    Opening one offer must not stretch
    the neighbouring offer.
*/

.reload-offers {
    align-items: start;
}

.reload-offer {
    height: auto;
    min-height: 0;
    align-self: start;
}


/*
    Hidden expandable content must always
    stay completely removed from layout.
*/

.bonus-details-content[hidden],
.bonus-guide-content[hidden],

.sports-details-content[hidden],
.sports-guide-content[hidden],

.promotions-details-content[hidden],
.promotions-guide-content[hidden],

.vip-details-content[hidden],
.vip-guide-content[hidden],

.games-guide[hidden] {
    display: none !important;
}


/*=============================================
        Expandable Cards Height Fix End
=============================================*/
/*=============================================
                Legal Pages Start
=============================================*/

.legal-page {
    position: relative;

    min-height:
        calc(
            100vh -
            var(--header-height)
        );

    margin-top:
        var(--header-height);

    padding:
        74px 20px 88px;

    overflow:
        hidden;

    color:
        #354147;

    background:
        radial-gradient(
            circle at 88% 5%,
            rgba(178, 144, 82, 0.12),
            transparent 27%
        ),
        radial-gradient(
            circle at 8% 92%,
            rgba(87, 123, 138, 0.10),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #e8e4dc 0%,
            #dce1df 50%,
            #ebe6dd 100%
        );
}


.legal-page::before {
    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        0;

    width:
        100%;

    height:
        1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(170, 128, 61, 0.38),
            transparent
        );

    pointer-events:
        none;
}


.legal-page-container {
    position:
        relative;

    z-index:
        1;

    width:
        min(
            100%,
            1040px
        );

    margin:
        0 auto;
}


/* Legal Header */

.legal-page-head {
    max-width:
        900px;

    margin:
        0 auto 42px;

    padding-bottom:
        34px;

    border-bottom:
        1px solid
        rgba(60, 78, 85, 0.13);
}


.legal-page-kicker {
    display:
        block;

    margin:
        0 0 10px;

    color:
        #936c2f;

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        0.18em;

    text-transform:
        uppercase;
}


.legal-page-head h1 {
    max-width:
        800px;

    margin:
        0;

    color:
        #28383f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            43px,
            5.2vw,
            70px
        );

    line-height:
        0.98;

    letter-spacing:
        -0.045em;
}


.legal-page-intro {
    max-width:
        850px;

    margin:
        22px 0 0;

    color:
        #506168;

    font-size:
        15px;

    font-weight:
        600;

    line-height:
        1.75;
}


.legal-last-updated {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    margin:
        19px 0 0;

    padding:
        7px 11px;

    border:
        1px solid
        rgba(137, 101, 47, 0.16);

    border-radius:
        999px;

    background:
        rgba(235, 225, 207, 0.54);

    color:
        #75654d;

    font-size:
        9px;

    font-weight:
        800;
}


.legal-last-updated span {
    color:
        #8e672d;
}


/* Legal Content */

.legal-content {
    width:
        min(
            100%,
            900px
        );

    margin:
        0 auto;
}


.legal-section {
    position:
        relative;

    padding:
        27px 29px;

    border:
        1px solid
        rgba(60, 78, 85, 0.11);

    border-radius:
        16px;

    background:
        rgba(245, 244, 239, 0.64);

    box-shadow:
        0 9px 25px
        rgba(49, 65, 70, 0.045);
}


.legal-section + .legal-section {
    margin-top:
        12px;
}


.legal-section::before {
    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        28px;

    width:
        46px;

    height:
        2px;

    border-radius:
        999px;

    background:
        linear-gradient(
            90deg,
            #9b7132,
            #c49a51
        );
}


.legal-section h2 {
    max-width:
        760px;

    margin:
        0;

    color:
        #2e3e44;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            23px,
            2.2vw,
            30px
        );

    line-height:
        1.12;

    letter-spacing:
        -0.015em;
}


.legal-section p {
    margin:
        13px 0 0;

    color:
        #596a70;

    font-size:
        12px;

    line-height:
        1.78;
}


.legal-section p + p {
    margin-top:
        10px;
}


/* Legal Internal Links */

.legal-section a {
    color:
        #8e6427;

    font-weight:
        800;

    text-decoration:
        underline;

    text-decoration-thickness:
        1px;

    text-underline-offset:
        3px;

    transition:
        color 0.2s ease;
}


.legal-section a:hover,
.legal-section a:focus-visible {
    color:
        #bf1731;
}


/* Current Legal Page in Footer */

.footer-links a[aria-current="page"],
.footer-bottom-links a[aria-current="page"] {
    color:
        #e3c381;

    font-weight:
        800;
}


/* Legal Tablet */

@media (max-width: 900px) {

    .legal-page {
        padding:
            64px 18px 76px;
    }


    .legal-page-container {
        width:
            min(
                100%,
                920px
            );
    }


    .legal-page-head,
    .legal-content {
        max-width:
            100%;
    }

}


/* Legal Mobile */

@media (max-width: 620px) {

    .legal-page {
        padding:
            50px 14px 64px;
    }


    .legal-page-head {
        margin-bottom:
            28px;

        padding-bottom:
            27px;
    }


    .legal-page-head h1 {
        font-size:
            clamp(
                38px,
                11vw,
                50px
            );
    }


    .legal-page-intro {
        margin-top:
            18px;

        font-size:
            14px;

        line-height:
            1.68;
    }


    .legal-section {
        padding:
            24px 18px 22px;

        border-radius:
            14px;
    }


    .legal-section::before {
        left:
            18px;
    }


    .legal-section h2 {
        font-size:
            23px;
    }


    .legal-section p {
        font-size:
            12px;

        line-height:
            1.72;
    }

}

/*=============================================
                 Legal Pages End
=============================================*/


