body,
html {
    font-family: "Bebas Neue", sans-serif;
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    background-color: #101010;
    scroll-behavior: smooth;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.shadow-section{
    height: 450px;
    margin-top: -15em;
    background: rgb(16, 16, 16);
    background: linear-gradient(180deg, rgb(16 16 16 / 0%) 53%, rgb(16 16 16) 85%);
}
.header{
    background-image: url(./images/hero-img.jpg);
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}
/* NAVBAR*/
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: transparent;
    background: linear-gradient(180deg, rgba(16, 16, 16, 0.86) 25%, rgba(16, 16, 16, 0.34) 71%, rgba(16, 16, 16, 0.00) 100%);
    color: white;
    padding: 2em;
}
.nav-links .active{
    color: gold;
}
.navbar .logo:hover a,
.cta-hero:hover a,
.cta:hover a,
.cta-perso:hover a{
    transition: 1s ease-out;
    transform: scale(1.1);
}
.navbar .logo a,
.cta-hero a,
.cta a, .cta-perso a
 {
    display: flex;
    cursor: pointer;
    justify-content: center;
    padding: 8px 24px;
    text-decoration: none;
    color: black;
    font-size: 32px;
    border-radius: 4px;
    background: linear-gradient(180deg, #F6DD00 0%, #EDBB00 100%);
}

.nav-links {
    padding: 0;
    list-style: none;
    display: flex;
    transition: transform 0.5s ease;
}

.nav-links a {
    padding: 0 50px;
}

.nav-links a {
    text-decoration: none;
    color: white;
    transition: color 0.3s ease;
}

.nav-links a:hover {
    color: gold;
}

.hamburger {
    display: none;
    cursor: pointer;
    position: relative;
    width: 30px;
    height: 23px;
}

.hamburger .line {
    width: 100%;
    height: 3px;
    background-color: white;
    position: absolute;
    left: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.hamburger .line:nth-child(1) {
    top: 0;
}

.hamburger .line:nth-child(2) {
    top: 10px;
}

.hamburger .line:nth-child(3) {
    top: 20px;
}

.hamburger.active .line:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
}

.hamburger.active .line:nth-child(2) {
    opacity: 0;
}

.hamburger.active .line:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
}

@media (max-width: 900px) {
.nav-links li {
        padding: 0 20px;
    }
.hero {
        padding: 5em 20px !important;
    }
    .hero-title, .guide-hero-title {
        font-size: 38px !important;
        margin-bottom: 32px;
    }
    .title-box h3, .item-box h3, .faq1 h3 {
        font-size: 32px !important;
    }
    
    .subtitle-box p, .character-1 p, .p-perso, .item-box p, .faq-title p,
    .faq1 p {
        font-size: 16px !important
    }
    .last-text p, .guide-hero-subtitle {
        font-size: 24px !important;
    }
    .step1 h2, .faq-title h3, .step2 h2, .step3 h2, .step4 h2, .step5 h2, .step6 h2, .step7 h2, .step8 h2, .conclu h2, .perso-text h2, .character-1 h3, .step2-2 h2, .code1 h2 {
            font-size: 38px !important;
    }
        .perso {
            color: white;
            padding: 0px 20px 30px !important;
        }
    
    .step1 p, .step2 p,
    .step3 p,
    .step4 p,
    .step5 p,
    .step6 p,
    .step7 p,
    .step8 p
    .step2-2 p,
    .conclu p,
    .code1 p {
            font-size: 16px !important;
    }
    .promo-cta{
        font-size: 28px !important;
    }
    .guide-container, .feat-content1, .feat-container2 {
        flex-direction: column;
        align-items: center;
        padding: 50px 20px !important;
    }
    .guide-content .cta{
        display: block !important;
    }
    .guide-content, .content-1 {
        margin-left: 0px !important;
    }
    .guide-img {
        position: static !important;
        height: auto !important;
        margin-bottom: 40px;
    }
    .faq-title h3, .faq-title p {
        text-align: center;
    }

.step2,
.step3,
.step4,
.step5,
.step6,
.step7,
.step8 {
    margin: 50px 0 !important;
}
.step2 h3,
.step3 h3,
.step4 h3,
.step5 h3,
.step6 h3,
.step7 h3,
.step8 h3 {
    font-size: 32px !important;
}
.p-perso {
margin: 20px 0 !important;
}
}
@media (max-width: 768px) {
    .nav-links {
        position: absolute;
        background: #18272A;
        right: 0;
        height: 100vh;
        z-index: 9;
        padding-top: 7em;
        gap: 3em;
        margin-top: -3em;
        top: 60px;
        flex-direction: column;
        width: 100%;
        align-items: flex-start;
        display: none;
        transform: translateX(100%);
    }

    .nav-links.open {
        display: flex;
        transform: translateX(0%);
    }

    .hamburger {
        display: block;
        z-index: 9;
    }
    .cta{
        display: none;
    }
    .nav-links a {
        padding: 0 20px;
    }
    .navbar {
        padding: 1em;
    }
    .carousel{
        flex-direction: column-reverse;
        padding: 30px 0px !important
    }
    .carousel-text {
        margin-right: 0 !important
    }
    .carousel-container{
        transform: scale(.7);
    }
    .carousel-text h2, .feat-text h2 {
        font-size: 48px !important
    }
        
    .carousel-text p {
        font-size: 16px !important
    }
/*     .carousel-container {
            transform: scale(.6) !important;
    } */
    .feat-content {
        margin: 0em 20px 0px !important;
    }
    .feat-cta{
        margin-bottom: 50px !important;
    }
        .feat-bkg {
            margin-top: 50px !important;
        }
    .feat-boxs {
        flex-direction: column;
    }
    .cta-perso {
        display: block !important;
    }
    .promo1{
        flex-direction: column;
        align-items: center;
    }
    .code1{
        margin: 30px 0 !important;
    }
    .promo-container{
        padding: 0 20px !important;
    }
    .last-content {
        padding: 50px 20px !important;
    }
        .footer-content,
        .footer-links {
            flex-direction: column;
            display: flex !important;
            justify-content: center;
            text-align: center;
            gap: 50px;
        }
        .footer-links a {
            margin: 0px !important;
        }
}
@media (max-width: 500px) {
    .hero-title {
            font-size: 25px;
        }
        .hero-subtitle {
            font-size: 18px;
            margin-bottom: 10px;
        }
        .carousel-container {
            transform: scale(.5);
            margin-top: -6em;
        }
        .carousel, .carousel-text{
            margin-top: -5em;
        }
        .carousel{
            margin-top: 0em;
        }
        .character-1 {
         margin: 2em 0 !important;
        }
        .item-img {
            width: 100% !important;
        }
        .faq-container {
            padding: 50px 20px 0 !important;
        }
}
@media (max-width: 400px) {

    .carousel-container {
        transform: scale(.4);

    }
    .carousel {
        margin-top: -3em;
    }
    .carousel-text {
        margin-top: -6em;
    }
    .carousel-text{
        padding: 0 !important;
        margin-right: 20px !important;
    }
}
@media (max-width: 1100px) {

}
/* HERO COVER */
.hero{
    color: white;
    padding: 90px 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.hero-title {
    font-size: 80px;
    margin-block-end: 0;
    margin-block-start: 0;
    max-width: 1200px;
}
.guide-hero-title {
    font-size: 80px;
    margin-block-end: 0;
    margin-block-start: 0;
    max-width: 1050px;
    margin-bottom: 40px;
}
.hero-subtitle{
    font-size: 32px;
    margin-block-start: 0;
    margin-block-end: 0;
    margin: 32px 0;
}
.guide-hero-subtitle {
    font-size: 24px;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-bottom: 1em;
    max-width: 1050px;
}

/* CAROUSEL */
.carousel{
    background: linear-gradient(180deg, rgba(16, 16, 16, 0.86) 25%, rgba(16, 16, 16, 0.34) 71%, rgba(16, 16, 16, 0.00) 100%);
    padding: 0px 0px 150px;
    display: flex;
    align-content: center;
    flex-wrap: wrap-reverse;
    justify-content: space-around;
    align-items: center;
}
.carousel-bkg{
    background-image: url('./images/carousel-bkg.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.carousel-text{
    max-width: 518px;
    color: white;
    padding-top: 2em;
    margin-left: 20px;
}
.carousel-text h2, .feat-text h2, .perso-text h2, .feat-container2-text h3 {
    font-size: 72px;
    color: white;
    margin-block-end: 0;
    margin-block-start: 0;
}
.carousel-text p, .feat-container2-text p {
    font-size: 20px;
    font-family: 'inter';
}

/* //CAROUSEL IMG  */
.carousel-container{
    position: relative;
    min-width: 800px;
    height: 600px;
}
.carousel-img img {
    transition: transform 0.5s ease, left 0.5s ease, filter 0.5s ease, box-shadow 0.5s ease;
}
.img1{
    position: absolute;
    left: 20%;
    transform: scale(.8);
    z-index: 1;
    border: 1px solid gold;
}
.img2 {
    position: absolute;
    transform: scale(.7);
    left: 12%;
    border: 1px solid gold;

}
.img3 {
    position: absolute;
    transform: scale(.7);
    left: 12%;
    border: 1px solid gold;

}
.img4 {
    position: absolute;
    transform: scale(.8);
    left: 12%;
    border: 1px solid gold;
}
.img5 {
    position: absolute;
    transform: scale(.8);
    left: 12%;
    border: 1px solid gold;

}
.carousel-controls {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.prev,
.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: white;
    font-size: 24px;
    padding: 10px;
    user-select: none;
}

.next {
    right: 9%;
}

.prev {
    left: 10%;
}

.dot-container {
    position: absolute;
    bottom: 5%;
    /* ajusté de -5% à 10px pour assurer la visibilité */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
}

.dot {
    cursor: pointer;
    height: 3px;
    width: 20px;
    margin: 0 5px;
    background-color: #bbb;
    transition: background-color 0.5s ease;
}

.dot.active {
    background-color: gold;
}
/* FEAT */
.feat-content{
    margin:-4em 80px 0px; ;
}
.feat-boxs{
    display: flex;
    justify-content: space-between;
    margin: 40px 0;
    gap: 30px;
}
.box1{
    max-width: 370px;
    border-left: 1px solid white;
    padding-left: 30px;
}
.title-box h3, .faq1 h3{
    margin-block-start: 0;
    margin-block-end: 0;
    color: #FBCB68;
    font-size: 48px;
}
.subtitle-box p, .faq1 p{
    font-family: 'inter';
    font-size: 20px;
    color: white;
    margin-block-end: 0;
}
.feat-cta{
    display: flex;
    justify-content: center;    
    margin-bottom: 150px;
}
.feat-bkg{
    margin-top: 100px;
}
.lastsection{
    background-image: url('./images/last.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.last-content{
    padding: 100px 80px;
}
.last-text{
    color: white;
    text-align: center;
}
.last-text p{
    font-size: 52px;
}
.footer{
    margin-top: 100px;
}
.footer-content{
    margin: 30px 80px;
    display: flex;
    justify-content: space-between;
}
.footer-links a{
    margin: 0 0px 0 50px;
    text-decoration: none;
    color: white;
}
.footer-text{
    padding:0px 20px 30px;
}
.footer-text p{
    text-align: center;
    color: #979797;
    font-size: 14px;
    margin-block-start: 0;
    margin-block-end: 0;
}
/* GUIDE */
.feat-content1{
    padding: 0px 80px 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.guide-container{
    padding: 0px 80px 100px;
    display: flex;
    justify-content: center;
}
.guide-content{
    color: white;
    margin-left: 90px;
    max-width: 500px;
}
.guide-img{
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: auto;
}
.guide-content .cta{
    width: fit-content;
    margin-top: 40px;
}
.step1 h2, .step2 h2,
.step3 h2, .step4 h2, .step5 h2, .step6 h2, .step7 h2, .step8 h2, .conclu h2, .faq-title h3{
    font-size: 72px;
    font-weight: 100;
    margin-block-start: 0;
    margin-block-end: 20px;
}
.step1 p, .step2 p,
.step3 p .step4 p,
.step5 p,
.step6 p,
.step7 p,
.step8 p,
.conclu p,
.faq-title p{
    font-family: 'inter';
    display: flex;
    align-items: center;
    font-size: 20px;
    margin-block-start: 0;
}
.step2, .step3, .step4,
.step5,
.step6,
.step7,
.step8{
    margin: 180px 0;
}
.step2 h3, .step3 h3, .step4 h3,
.step5 h3,
.step6 h3,
.step7 h3,
.step8 h3{
    margin-block-start: 0;
    margin-block-end: 0;
    color: #FBCB68;
     font-size: 48px;
}
/* FEAT */
.content-1 {
    color: white;
    margin-left: 90px;
    max-width: 450px;
    font-family: 'inter';
}
.perso{
    color: white;
    padding: 150px 80px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.perso-text{
    max-width: 1050px;
}
.p-perso {
    font-size: 20px;
    color: white;
    margin-top: 45px;
    margin-bottom: 60px;
    font-family: 'inter';
}
.characters{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.character-1{
    max-width: 400px;
    margin: 50px 100px;
}
.character-1 p{
    font-family: Inter;
    font-size: 20px;
}
.character-1 h3{
    color: #FBCB68;
    font-size: 48px;
    margin-block-start: 0;
    margin-block-end: 20px;
}
.cta-perso{
    display: none;
    width: fit-content;
    margin: 30px auto;
}
/* ITEM */
.item-box h3 {
    color: #FBCB68;
    text-align: left;
    font-size: 48px;
    margin-block-start: 0;
    margin-block-end: 0;
}
.item-box p, .feat-container2-text p {
    font-family: Inter;
    font-size: 20px;
    text-align: left;
}
.items{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 100px;
}
.item-box {
    max-width: 250px;
    margin: 30px;
    flex-direction: column;
    display: flex;
}
.feat-container2{
    display: flex;
    justify-content: center;
    padding: 0px 40px;
}
.feat-container2-text{
    max-width: 550px;
    color: white;
}
.step2-2 p{
    font-family: 'inter';
    display: flex;
    align-items: center;
    font-size: 20px;
    margin-block-start: 0;
}
.step2-2{
    margin-bottom: 40px;
}
.step2-2 h2 {
    margin-block-start: 0;
    margin-block-end: 20px;
    color: white;
    font-size: 72px;
}
.step2-2 h3 {
    margin-block-start: 0;
    margin-block-end: 8px;
    color: #FBCB68;
    font-size: 48px;
}
.faq-container{
    padding: 100px 80px;
}
.faq-title{
    color: white;
    margin-bottom: 60px;
}

.faq1{
    margin-bottom: 40px;
}
.promo-container{
    padding: 0px 80px 100px;
}
.promo1{
    display: flex;
    justify-content: center;
    margin-bottom:60px ;

}
.code1{
    max-width: 400px;
    margin-right: 30px;
}
.code1:last-child{
    margin: 0;
}
.code1 h2{
    color: #FFF;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    font-size: 72px;
    margin-block-start: 0;
    margin-block-end: 0;
}
.code1 p{
    font-family: 'inter';
    color: #fff;
    font-size: 20px;
    margin-bottom: 32px;
}
.promo-cta{
    text-transform: uppercase;
    transition: 0.5s ease-in-out all;
    display: flex;
    justify-content: center;
    outline: 1px solid #FBCB68;
    font-size: 40px;
    color: white;
    text-decoration: none;
    padding: 25px;
    cursor: copy;
    position: relative;
}
.promo-cta:hover{
    background-color: #FBCB68;
    color: white;
}
.step4 p, .step3 p{
    font-family: 'inter';
}
 #impressum-links-wrapper {
     font-size: 20px;
     color: white;
     display: none;
     margin: 5px 0;
 }

 #impressum-links-wrapper a {
     font-size: 15px;
     color: rgba(245, 245, 245, 0.705);
     text-decoration: none;
 }

 #impressum-title {
     font-size: 15px;
     color: rgba(245, 245, 245, 0.705);
 }

 #impressum-title:hover,
 #impressum-links-wrapper a:hover {
     cursor: pointer !important;
     text-decoration: underline;
     color: grey;
 }

 #impressum-wrapper {
     display: none;
     outline: 1px solid rgb(255, 255, 255);
     position: fixed;
     z-index: 9999;
     height: 25rem;
     width: 30rem;
     background-color: #333;
     color: white;
     text-align: left;
     margin: auto;
     top: 0;
     bottom: 0;
     left: 0;
     right: 0;
 }

 .impressum-content {
     font-family: Arial, Helvetica, sans-serif;
     margin: 3rem;
 }

 .impressum-content div {
     margin-bottom: 1rem;
 }

 .impressum-content a {
     color: blue;
 }

 #close {
     position: absolute;
     top: 0;
     right: 0;
     font-size: 40px;
     margin-right: 1rem;
     margin-top: .5rem;
 }

 #close:hover {
     cursor: pointer;
 }
 .blur-background {
     position: fixed;
     /* Cover the entire viewport */
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     backdrop-filter: blur(8px);
     /* Apply blur effect */
     z-index: 999;
     /* Ensure it's below the popup but above other content */
 }
