.bonus-section{
    position:relative;
    padding:110px 24px;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(0,174,255,.25), transparent 30%),
        radial-gradient(circle at 90% 78%, rgba(47,128,237,.25), transparent 34%),
        linear-gradient(135deg,#020817 0%,#061735 45%,#082d68 100%);
}

.bonus-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
    background-size:48px 48px;
    opacity:.42;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%);
    pointer-events:none;
}

.bonus-section::after{
    content:"";
    position:absolute;
    width:470px;
    height:470px;
    right:-220px;
    top:170px;
    border-radius:50%;
    background:#009dff;
    filter:blur(100px);
    opacity:.22;
    pointer-events:none;
}

.bonus-container{
    width:min(1400px,100%);
    margin:0 auto;
    position:relative;
    z-index:2;
}

.bonus-heading{
    max-width:880px;
    margin:0 auto 56px;
    text-align:center;
    color:#fff;
}

.bonus-label{
    display:inline-flex;
    padding:10px 18px;
    margin-bottom:22px;
    border-radius:999px;
    color:#9fe4ff;
    font-size:14px;
    font-weight:800;
    background:rgba(6,31,70,.72);
    border:1px solid rgba(101,210,255,.36);
    box-shadow:0 0 35px rgba(0,168,255,.16);
}

.bonus-heading h2{
    margin-bottom:22px;
    font-size:clamp(32px,4vw,58px);
    line-height:1.12;
    font-weight:900;
    letter-spacing:-1.8px;
    color:#fff;
}

.bonus-heading p{
    max-width:790px;
    margin:0 auto;
    font-size:17px;
    line-height:1.85;
    color:#c8eaff;
}

.bonus-grid{
    display:grid;
    grid-template-columns:1.15fr 1fr 1fr;
    gap:24px;
}

.bonus-card{
    position:relative;
    padding:30px 26px;
    border-radius:30px;
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
    border:1px solid rgba(120,215,255,.22);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 20px 55px rgba(0,0,0,.24);
    backdrop-filter:blur(18px);
    overflow:hidden;
    transition:.35s ease;
}

.bonus-card::after{
    content:"";
    position:absolute;
    width:130px;
    height:130px;
    right:-45px;
    top:-45px;
    border-radius:50%;
    background:#00a8ff;
    filter:blur(36px);
    opacity:.18;
}

.bonus-card:hover{
    transform:translateY(-8px);
    border-color:rgba(116,220,255,.55);
    box-shadow:0 30px 70px rgba(0,0,0,.36),0 0 36px rgba(0,168,255,.2);
}

.bonus-card.featured{
    background:
        linear-gradient(135deg,rgba(0,183,255,.18),rgba(255,255,255,.06)),
        linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.035));
    border-color:rgba(116,220,255,.42);
}

.bonus-badge{
    position:relative;
    z-index:2;
    display:inline-flex;
    margin-bottom:18px;
    padding:8px 13px;
    border-radius:999px;
    color:#fff;
    font-size:12px;
    font-weight:900;
    background:linear-gradient(135deg,#00b7ff,#2f80ed);
    box-shadow:0 10px 25px rgba(0,138,255,.35);
}

.bonus-icon{
    position:relative;
    z-index:2;
    width:64px;
    height:64px;
    margin-bottom:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    font-size:30px;
    background:linear-gradient(135deg,#00b7ff,#2f80ed 62%,#0a4ccf);
    box-shadow:0 14px 32px rgba(0,138,255,.38);
}

.bonus-card h3{
    position:relative;
    z-index:2;
    margin-bottom:14px;
    color:#fff;
    font-size:24px;
    font-weight:900;
    line-height:1.35;
}

.bonus-card p{
    position:relative;
    z-index:2;
    margin-bottom:22px;
    color:#c9eaff;
    font-size:15.5px;
    line-height:1.72;
}

.bonus-list{
    position:relative;
    z-index:2;
    display:grid;
    gap:10px;
    margin:0 0 24px;
    padding:0;
    list-style:none;
}

.bonus-list li{
    position:relative;
    padding:12px 14px 12px 38px;
    border-radius:16px;
    color:#d7f2ff;
    font-size:14px;
    font-weight:700;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(120,215,255,.16);
}

.bonus-list li::before{
    content:"✓";
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#55d2ff;
    font-weight:900;
}

.bonus-btn{
    position:relative;
    z-index:2;
    width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 22px;
    border-radius:999px;
    color:#fff;
    font-weight:900;
    background:linear-gradient(135deg,#00b7ff,#2f80ed 62%,#0a4ccf);
    box-shadow:0 14px 34px rgba(0,138,255,.36);
    transition:.35s ease;
}

.bonus-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 46px rgba(0,138,255,.52);
}

.bonus-strip{
    margin-top:38px;
    padding:24px;
    border-radius:30px;
    display:grid;
    grid-template-columns:repeat(3,1fr) auto;
    align-items:center;
    gap:18px;
    background:rgba(5,22,52,.72);
    border:1px solid rgba(105,213,255,.26);
    box-shadow:0 22px 60px rgba(0,0,0,.25);
    backdrop-filter:blur(18px);
}

.bonus-strip-item{
    padding:18px;
    border-radius:22px;
    text-align:center;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(120,215,255,.16);
}

.bonus-strip-item strong{
    display:block;
    margin-bottom:6px;
    color:#55d2ff;
    font-size:28px;
    font-weight:900;
}

.bonus-strip-item span{
    color:#c8eaff;
    font-size:14px;
    font-weight:700;
}

.bonus-strip-btn{
    min-width:190px;
    display:inline-flex;
    justify-content:center;
    padding:16px 28px;
    border-radius:999px;
    color:#fff;
    font-weight:900;
    background:linear-gradient(135deg,#00b7ff,#2f80ed 62%,#0a4ccf);
    box-shadow:0 16px 40px rgba(0,138,255,.42);
    transition:.35s ease;
}

.bonus-strip-btn:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 22px 55px rgba(0,138,255,.58);
}

.bonus-note{
    margin-top:28px;
    padding:30px;
    border-radius:32px;
    background:rgba(5,22,52,.72);
    border:1px solid rgba(105,213,255,.26);
    box-shadow:0 22px 60px rgba(0,0,0,.25);
    backdrop-filter:blur(18px);
}

.bonus-note h3{
    margin-bottom:12px;
    color:#fff;
    font-size:26px;
    font-weight:900;
}

.bonus-note p{
    max-width:980px;
    color:#c8eaff;
    font-size:16px;
    line-height:1.75;
}

/* Animation */
.bonus-card,
.bonus-strip,
.bonus-note{
    opacity:0;
    transform:translateY(24px);
}

.bonus-card.show,
.bonus-strip.show,
.bonus-note.show{
    opacity:1;
    transform:translateY(0);
}

/* Responsive */
@media(max-width:1100px){
    .bonus-grid{
        grid-template-columns:1fr;
    }

    .bonus-strip{
        grid-template-columns:repeat(2,1fr);
    }

    .bonus-strip-btn{
        grid-column:1 / -1;
        width:100%;
    }
}

@media(max-width:768px){
    .bonus-section{
        padding:85px 18px;
    }

    .bonus-heading{
        margin-bottom:42px;
    }

    .bonus-heading h2{
        letter-spacing:-1px;
    }

    .bonus-heading p{
        font-size:16px;
        line-height:1.75;
    }

    .bonus-card{
        padding:24px 20px;
        border-radius:24px;
    }

    .bonus-strip{
        grid-template-columns:1fr;
        padding:18px;
        border-radius:24px;
    }

    .bonus-note{
        padding:24px 20px;
        border-radius:26px;
    }

    .bonus-note h3{
        font-size:22px;
    }
}