/* ===========================
   CASHOUT CREW
   Pink • Gelb • Neon
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#090909;
    background-image:
        radial-gradient(circle at top,rgba(255,37,149,.18) 0%,transparent 35%),
        radial-gradient(circle at bottom right,rgba(255,214,52,.08) 0%,transparent 35%),
        linear-gradient(180deg,#090909 0%,#111111 50%,#080808 100%);

    color:#ffffff;
    font-family:'Montserrat',sans-serif;
}


/* ===========================
   HERO
=========================== */

.hero{
    min-height:auto;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:35px 20px 55px;

    position:relative;
    overflow:hidden;
}

.hero::before{
    content:"";

    position:absolute;
    width:500px;
    height:500px;

    top:-250px;
    left:-200px;

    border-radius:50%;

    background:rgba(255,37,149,.12);
    filter:blur(80px);

    pointer-events:none;
}

.hero::after{
    content:"";

    position:absolute;
    width:450px;
    height:450px;

    right:-220px;
    bottom:-220px;

    border-radius:50%;

    background:rgba(255,214,52,.08);
    filter:blur(80px);

    pointer-events:none;
}

.logo{
    width:min(750px,92vw);

    margin-bottom:18px;

    position:relative;
    z-index:2;

    filter:
        drop-shadow(0 0 20px rgba(255,37,149,.25))
        drop-shadow(0 0 35px rgba(255,214,52,.12));

    transition:.4s;
}

.logo:hover{
    transform:scale(1.02);

    filter:
        drop-shadow(0 0 30px rgba(255,37,149,.45))
        drop-shadow(0 0 45px rgba(255,214,52,.20));
}

.hero-overlay{
    max-width:950px;

    margin:auto;

    position:relative;
    z-index:2;
}

.tagline{
    color:#ff2595;

    letter-spacing:7px;

    font-size:15px;
    font-weight:800;

    margin-bottom:12px;

    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,37,149,.65),
        0 0 18px rgba(255,37,149,.35);
}

.hero h1{
    font-family:'Anton',sans-serif;

    font-size:72px;
    font-weight:400;

    letter-spacing:2px;

    color:#ffd634;

    margin-bottom:12px;

    text-transform:uppercase;

    text-shadow:
        0 0 8px rgba(255,214,52,.45),
        0 0 25px rgba(255,214,52,.20);
}

.subtitle{
    font-size:23px;
    line-height:1.7;

    max-width:800px;

    margin:auto;
    margin-bottom:24px;

    color:#e5e5e5;
}


/* ===========================
   HAUPT-BUTTON
=========================== */

.hero-button{
    display:inline-block;

    padding:18px 48px;

    background:#ff2595;

    color:#ffffff;

    text-decoration:none;
    text-transform:uppercase;

    border-radius:12px;

    border:2px solid #ff65b4;

    font-size:18px;
    font-weight:900;
    letter-spacing:1px;

    transition:.3s;

    box-shadow:
        0 0 15px rgba(255,37,149,.25),
        inset 0 0 12px rgba(255,255,255,.08);
}

.hero-button:hover{
    background:#ffd634;
    color:#111111;

    border-color:#ffe46f;

    transform:translateY(-5px);

    box-shadow:
        0 0 15px rgba(255,214,52,.55),
        0 0 35px rgba(255,214,52,.25);
}


/* ===========================
   TRENNLINIE
=========================== */

.divider{
    width:100%;
    height:3px;

    background:linear-gradient(
        to right,
        transparent,
        #ff2595,
        #ffd634,
        #ff2595,
        transparent
    );

    box-shadow:
        0 0 15px rgba(255,37,149,.35),
        0 0 20px rgba(255,214,52,.15);

    margin-bottom:40px;
}


/* ===========================
   SEKTIONEN
=========================== */

section{
    width:min(1300px,92%);
    margin:auto;
    margin-bottom:65px;
}

section h2{
    text-align:center;

    font-family:'Anton',sans-serif;

    font-size:48px;
    font-weight:400;

    letter-spacing:2px;

    margin-bottom:28px;

    color:#ffd634;

    text-transform:uppercase;

    text-shadow:
        0 0 10px rgba(255,214,52,.25);
}

.welcome p{
    max-width:900px;

    margin:auto;

    font-size:21px;
    line-height:1.8;

    text-align:center;

    color:#dddddd;
}

.section-intro{
    max-width:800px;

    margin:-8px auto 42px;

    text-align:center;

    color:#cfcfcf;

    font-size:19px;
    line-height:1.7;
}


/* ===========================
   CASINO-KARTEN
=========================== */

.casino-grid{
    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:24px;
}

.casino-card{
    background:
        linear-gradient(
            145deg,
            rgba(255,37,149,.08),
            rgba(255,255,255,.02)
        ),
        #161616;

    border:2px solid #ff2595;

    border-radius:18px;

    padding:25px;

    display:flex;
    flex-direction:column;

    min-height:440px;

    position:relative;
    overflow:hidden;

    transition:.35s;

    box-shadow:
        0 0 18px rgba(255,37,149,.10);
}

.casino-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:linear-gradient(
        to right,
        #ff2595,
        #ffd634,
        #ff2595
    );
}

.casino-card:hover{
    transform:translateY(-8px);

    border-color:#ffd634;

    box-shadow:
        0 0 20px rgba(255,214,52,.20),
        0 0 35px rgba(255,37,149,.16);
}

.casino-card:hover .casino-logo img{

    transform:scale(1.05);

    filter:
        drop-shadow(0 0 20px rgba(255,255,255,.18));

}

.casino-badge{
    position:absolute;

    top:14px;
    right:14px;

    z-index:3;

    padding:7px 11px;

    background:#ff2595;

    color:#ffffff;

    border:1px solid #ff75bd;
    border-radius:8px;

    font-size:11px;
    font-weight:900;
    letter-spacing:.8px;

    text-transform:uppercase;

    box-shadow:0 0 15px rgba(255,37,149,.35);
}

.extra-casino{
    display:none;
}

.extra-casino.visible{
    display:flex;
}

.casino-logo{

    height:110px;

    background:#0d0d0d;

    border-radius:14px;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

    margin-bottom:22px;

    transition:.3s;
}

.casino-logo img{

    width:85%;

    height:75px;

    object-fit:contain;

    transition:.35s;

    filter:drop-shadow(0 0 12px rgba(255,255,255,.12));

}
.casino-logo span{
    color:#ff2595;

    font-size:21px;
    font-weight:900;

    letter-spacing:1px;

    text-align:center;
}

.casino-card h3{
    font-family:'Anton',sans-serif;

    color:#ffd634;

    font-size:30px;
    font-weight:400;

    letter-spacing:1px;

    margin-bottom:12px;

    text-align:center;
}

.casino-bonus{
    color:#ffffff;

    font-size:17px;
    font-weight:800;

    line-height:1.5;

    text-align:center;

    margin-bottom:20px;
}

.casino-details{
    list-style:none;

    margin-bottom:24px;

    flex:1;
}

.casino-details li{
    display:flex;
    align-items:flex-start;
    gap:11px;

    color:#d7d7d7;

    font-size:16px;
    line-height:1.45;

    padding:9px 0;

    border-bottom:1px solid rgba(255,255,255,.06);
}

.casino-details li i{
    flex:0 0 30px;

    width:30px;
    height:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-top:-3px;

    color:#ffd634;
    background:rgba(255,214,52,.08);

    border:1px solid rgba(255,214,52,.18);
    border-radius:8px;

    font-size:13px;

    box-shadow:
        inset 0 0 10px rgba(255,214,52,.04),
        0 0 10px rgba(255,214,52,.04);
}

.casino-details li span{
    flex:1;
}

.casino-button{
    display:block;

    width:100%;

    padding:14px 18px;

    background:#ff2595;

    color:#ffffff;

    border:2px solid #ff65b4;

    border-radius:10px;

    text-align:center;

    text-decoration:none;
    text-transform:uppercase;

    font-size:15px;
    font-weight:900;
    letter-spacing:.7px;

    transition:.3s;
}

.casino-button:hover{
    background:#ffd634;

    color:#111111;

    border-color:#ffe46f;

    box-shadow:
        0 0 20px rgba(255,214,52,.30);
}


/* ===========================
   WEITERE CASINOS
=========================== */

.show-more-button{
    display:block;

    margin:40px auto 0;

    padding:16px 38px;

    background:transparent;

    color:#ffd634;

    border:2px solid #ffd634;

    border-radius:12px;

    font-family:'Montserrat',sans-serif;

    font-size:16px;
    font-weight:900;

    text-transform:uppercase;

    cursor:pointer;

    transition:.3s;
}

.show-more-button:hover{
    background:#ffd634;

    color:#111111;

    transform:translateY(-4px);

    box-shadow:
        0 0 25px rgba(255,214,52,.25);
}


/* ===========================
   SOCIALS
=========================== */

.platform-grid{
    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

    gap:22px;
}

.platform{
    background:#151515;

    border:2px solid #ff2595;

    border-radius:16px;

    padding:28px 20px;

    text-decoration:none;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    min-height:160px;

    transition:.3s;

    box-shadow:
        0 0 15px rgba(255,37,149,.08);
}

.platform:hover{
    transform:translateY(-7px);

    border-color:#ffd634;

    background:#1c1c1c;

    box-shadow:
        0 0 22px rgba(255,214,52,.15),
        0 0 28px rgba(255,37,149,.12);
}

.platform i{
    font-size:58px;

    color:#ff2595;

    margin-bottom:18px;

    transition:.3s;
}

.platform:hover i{
    color:#ffd634;

    transform:scale(1.08);
}

.platform span{
    font-size:18px;
    font-weight:800;

    color:#ffffff;
}


/* ===========================
   FOOTER
=========================== */

footer{
    padding:55px 20px;

    border-top:2px solid #ff2595;

    text-align:center;

    margin-top:80px;

    background:#080808;

    color:#cccccc;

    box-shadow:
        0 -5px 25px rgba(255,37,149,.08);
}

.footer-brand{
    font-family:'Anton',sans-serif;

    font-size:34px;

    letter-spacing:2px;

    color:#ffd634;

    margin-bottom:8px;
}

.footer-notice{
    max-width:700px;

    margin:25px auto 0;

    color:#888888;

    font-size:13px;
    line-height:1.6;
}

.footer-warning{
    margin-top:16px;

    color:#ffcf40;

    font-size:14px;

    line-height:1.6;

    font-weight:600;
}

.footer-copy{
    margin-top:22px;

    color:#8b8b8b;

    font-size:14px;
}

.platform-text{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
}

.platform-text strong{
    font-size:18px;
    color:#ffffff;
}

.platform-text small{
    font-size:13px;
    color:#bdbdbd;
}

.platform{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:15px;
}

.platform i{
    width:35px;
    text-align:center;
    font-size:30px;
}
/* ===========================
   MOBILE UND TABLET
=========================== */

@media(max-width:1100px){

    .casino-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media(max-width:768px){

    .hero{
        min-height:auto;

        padding:55px 18px 75px;
    }

    .logo{
        margin-bottom:32px;
    }

    .tagline{
        font-size:12px;

        letter-spacing:4px;

        line-height:1.8;
    }

    .hero h1{
        font-size:45px;

        line-height:1.15;
    }

    .subtitle{
        font-size:18px;

        line-height:1.6;
    }

    .hero-button{
        width:100%;

        max-width:330px;

        padding:16px 25px;

        font-size:16px;
    }

    section{
        margin-bottom:75px;
    }

    section h2{
        font-size:38px;

        line-height:1.2;
    }

    .welcome p{
        font-size:18px;
    }

    .section-intro{
        font-size:17px;
    }

    .casino-grid{
        grid-template-columns:1fr;
    }

    .casino-card{
        min-height:auto;
    }

    .platform-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:15px;
    }

    .platform{
        min-height:140px;

        padding:22px 12px;
    }

    .platform i{
        font-size:46px;
    }

    .platform span{
        font-size:15px;
    }

}

@media(max-width:420px){

    .hero h1{
        font-size:38px;
    }

    section h2{
        font-size:33px;
    }

    .casino-card{
        padding:21px;
    }

    .platform-grid{
        grid-template-columns:1fr 1fr;
    }

}

/* NEWSLETTER POPUP */

.newsletter-overlay{
    position:fixed;
    inset:0;
    z-index:9999;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px;

    background:rgba(0,0,0,.82);
    backdrop-filter:blur(8px);

    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
}

.newsletter-overlay.visible{
    opacity:1;
    visibility:visible;
}

.newsletter-popup{
    position:relative;

    width:100%;
    max-width:480px;

    padding:38px 34px 30px;

    background:
        radial-gradient(
            circle at top,
            rgba(255,0,140,.16),
            transparent 45%
        ),
        linear-gradient(145deg, #181818, #080808);

    border:1px solid rgba(255,0,140,.45);
    border-radius:20px;

    box-shadow:
        0 0 40px rgba(255,0,140,.18),
        0 25px 80px rgba(0,0,0,.8);

    text-align:center;

    transform:scale(.92) translateY(20px);
    transition:transform .3s ease;
}

.newsletter-overlay.visible .newsletter-popup{
    transform:scale(1) translateY(0);
}

.newsletter-close{
    position:absolute;
    top:12px;
    right:16px;

    border:none;
    background:none;

    color:#999;
    font-size:32px;
    line-height:1;

    cursor:pointer;
    transition:.2s ease;
}

.newsletter-close:hover{
    color:#ff008c;
    transform:rotate(90deg);
}

.newsletter-icon{
    width:65px;
    height:65px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 15px;

    border-radius:50%;

    color:#ffcf40;
    font-size:28px;

    background:rgba(255,207,64,.1);
    border:1px solid rgba(255,207,64,.35);

    box-shadow:0 0 25px rgba(255,207,64,.12);
}

.newsletter-label{
    margin:0 0 6px;

    color:#ff008c;
    font-family:"Orbitron", sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
}

.newsletter-popup h2{
    margin:0 0 12px;

    color:#fff;
    font-family:"Orbitron", sans-serif;
    font-size:28px;
}

.newsletter-description{
    max-width:390px;
    margin:0 auto 24px;

    color:#c7c7c7;
    font-size:16px;
    line-height:1.5;
}

#newsletterForm{
    display:flex;
    flex-direction:column;
    gap:9px;

    text-align:left;
}

#newsletterForm label{
    color:#eee;
    font-size:14px;
    font-weight:600;
}

#newsletterForm input[type="text"],
#newsletterForm input[type="email"]{
    width:100%;
    box-sizing:border-box;

    padding:13px 15px;
    margin-bottom:7px;

    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    outline:none;

    color:#fff;
    background:#0c0c0c;

    font-family:"Rajdhani", sans-serif;
    font-size:16px;

    transition:.2s ease;
}

#newsletterForm input[type="text"]:focus,
#newsletterForm input[type="email"]:focus{
    border-color:#ff008c;
    box-shadow:0 0 0 3px rgba(255,0,140,.12);
}

.newsletter-consent{
    display:flex;
    align-items:flex-start;
    gap:9px;

    margin:5px 0 10px;

    color:#aaa !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.35;

    cursor:pointer;
}

.newsletter-consent input{
    flex:0 0 auto;
    margin-top:2px;
    accent-color:#ff008c;
}

.newsletter-submit{
    width:100%;
    padding:14px;

    border:none;
    border-radius:10px;

    color:#090909;
    background:linear-gradient(90deg, #ffcf40, #ff9f00);

    font-family:"Orbitron", sans-serif;
    font-size:14px;
    font-weight:900;
    letter-spacing:.5px;

    cursor:pointer;
    transition:.2s ease;
}

.newsletter-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 25px rgba(255,207,64,.22);
}

.newsletter-submit:disabled{
    opacity:.6;
    cursor:not-allowed;
    transform:none;
}

.newsletter-message{
    min-height:20px;
    margin:4px 0 0;

    text-align:center;
    font-size:14px;
    font-weight:600;
}

.newsletter-message.success{
    color:#52e59b;
}

.newsletter-message.error{
    color:#ff657a;
}

.newsletter-later{
    margin-top:13px;

    border:none;
    background:none;

    color:#888;
    font-size:13px;

    cursor:pointer;
}

.newsletter-later:hover{
    color:#fff;
}

@media (max-width:550px){

    .newsletter-popup{
        padding:34px 20px 25px;
    }

    .newsletter-popup h2{
        font-size:23px;
    }

    .newsletter-description{
        font-size:15px;
    }

}