/* Global ------------------------------------------------------------------ */
*{
    margin: 0px;
    padding: 0px;
}

/* Variables ------------------------------------------------------------------ */
:root{
    /* Colors */
    --c-black : #161616;
    --c-white : #ffffff;
    --c-primary : #00C4B3;
    --c-blue-dark :#181434; 
    --c-purple : #9F91C1;

    /* Box Shadow */
    --shadow : 0px 10px 20px rgba(0, 0, 0, 0.4);

    /* Font-size */
    --f-text : 16px;
    --f-h3 : 30px;
    --f-h4 : 24px;

    /* Margins */
    --m-medium : 35px;
    --m-large : 70px;

    /* Padding */
    --p-box : 30px;

    /* Borders */
    --b-radius-large : 60px;

    /* Animations */
    --a-smallTransition : 0.25s;
}

.d-flex{
    display: flex;
    justify-content: center;
    align-items: center;
}

.d-fCollumn{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Fonts ------------------------------------------------------------------ */
@font-face {
    font-family: 'Monoglyphic';
    src: url('assets/fonts/Monoglyphic-Bold.woff2') format('woff2'),
        url('assets/fonts/Monoglyphic-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bahnschrift';
    src: url('assets/fonts/Bahnschrift.woff2') format('woff2'),
        url('assets/fonts/Bahnschrift.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Titles */
h1,h2,h3,h4{
    font-family: 'Monoglyphic';
    color: var(--c-white);
}

h1{
    font-size: 52px;
}

h2{
    font-size: 48px;
}

h3{
    font-size: var(--f-h3);
}

h4{
    font-size: var(--f-h4);
}

/* Core textes */
p,a,li,button{
    font-family: 'Bahnschrift';
    font-size: var(--f-text);
    color: var(--c-white);
    font-weight: 400;
}


/* Objetcs ------------------------------------------------------------------ */

button,.btn{
    font-weight: 700;

    padding: 12px 24px;
    border-radius: 24px;
    background-color: var(--c-black);
    border: 1px solid var(--c-white);

    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--a-smallTransition);
    text-decoration: none;
}

button:hover, .btn:hover{
    color: var(--c-primary);
    border: 1px solid var(--c-primary);
}

/* Sites ------------------------------------------------------------------ */
html{
    scroll-behavior: smooth;
}

body{
    background-color: var(--c-black);
    overflow-x: hidden;
}

.main{
    width: 100%;
    background-color: var(--c-white);
    background-image: url(assets/img/textures/brushed_alu.png);
    background-size: 200px;
}

.container{
    /*width: calc(100% - calc(var(--m-large)*2));*/
    width: 100%;
    max-width: 1112px;
    padding: var(--m-large) 0px;
}

/* Header ------------------------------------------------------------------ */
header{
    min-height: 80px;
    width: 100%;

    background-color: var(--c-black);

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

    position: fixed;
    z-index: 9999;
    box-shadow: 0px 0px 30px rgba(255, 255, 255, 0.2);
}

.logoNav{
    width: 90px;
    margin-left: 20px;
}

label{
	font-size: 40px;
	display: none;
}

#switch{
	display: none;
}

header nav ul{
    margin-right: 20px;

    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

.navLink{
    list-style: none;
}

.navLink a{
    text-decoration: none;
}

/* Section 1 ------------------------------------------------------------------ */
#section1{
    min-height: 80vh;
    min-height: 80dvh;
    width: 100%;
    background-color: var(--c-black);
    background-image: url(assets/img/textures/fabric_noir.png);
    background-size: 200px;
    clear: both;
    overflow-x: hidden;
}

.spaceSec1{
    padding: var(--p-box);
}

.textsSec1{
    width: 50%;
    align-items: flex-start;
    gap: 30px;

}

.imgSpaceSec1{
    width: 50%;
    min-height: 30vh;
    min-height: 30dvh;
}

.imageSec1{
    width: 70%;
    max-width: 400px;

    position: absolute;
    transform: translateX(-50px);
}

/* Section 2 ------------------------------------------------------------------ */
#section2{
    min-height: 60vh;
    min-height: 60dvh;
    width: 100%;
    background-color: var(--c-blue-dark);
    border-radius: var(--b-radius-large);
    overflow: hidden;

    box-shadow: var(--shadow);
}

.textsSec2{
    min-height: 50vh;
    width: 70%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    text-align: center;
}

.textsSec2 .btn{
    background-color: var(--c-blue-dark);
    margin-bottom: 20px;
}

.textsSec2 h2, .textsSec2 h3{
    color: var(--c-primary);
}


.imageSec2{
    min-height: 30vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    position: relative;
}

.vinylImgSec2{
    width: 400px;
    position: relative;
    top: 0px;
    position: absolute;
    z-index: 10;
    box-shadow: 0px -10px 20px rgba(0, 0, 0, 0.2);
}

.vinylImgSec2:nth-child(2){
    width: 360px;
    top: -20px;
    z-index: 9;

}

.vinylImgSec2:nth-child(3){
    width: 320px;
    top: -40px;
    z-index: 8;
}

.vinylImgSec2:nth-child(4){
    width: 280px;
    top: -60px;
    z-index: 7;
}

/* Section 3 ------------------------------------------------------------------ */
#section3{
    width: calc(100% - calc(var(--m-medium)*2)); /* Correction de l'espace ajouté par le padding*/
    background-color: var(--c-purple);
    border-radius: var(--b-radius-large);

    margin-top: var(--m-medium);
    padding: var(--m-medium);
    
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: var(--m-medium);
    box-shadow: var(--shadow);
}

.playerSpaceSec3{
    width: 50%;
    gap : 16px;
    justify-content: flex-end;
}

/* Left Cover Space */
.buttonControler{
    width: 100%;
    display: flex;
    gap : 16px;
}

.buttonControler .btn{
    background-color: var(--c-purple);
    color: var(--c-white);
    border-color: var(--c-white);
}

.buttonControler .btn:hover{
    background-color: var(--c-purple);
    color: var(--c-primary);
    border-color: var(--c-primary);
}

.formationContainer{
    width: calc(100% - calc(var(--p-box)*2));
    background-color: var(--c-black);
    padding: var(--p-box);
    gap: 16px;
    border-radius: calc(var(--m-medium)/2);
}

.formationContainer a{
    text-decoration: none;
}

.formationContainer .clickableCard{
    width: 100%;
}

.formationCard{
    width: calc(100% - calc(var(--p-box)));
    padding: calc(var(--p-box)/2);
    background-color: rgba(255, 255, 255,0.2);
    border-radius: calc(var(--p-box)/2);

    gap: calc(var(--p-box)/2);
    justify-content: flex-start;

}

.formationCardActive{
    background-color: var(--c-primary);
}
.formationCardActive h4,.formationCardActive p{
    color: var(--c-black);
}


.coverFormationCard{
    width: 100px;
    align-self: flex-start;
}

.textFormationCard{
    align-items: flex-start;
    gap: 5px;
}

.buttonFormationCard{
    width: 40px;
}

.bonusSpace{
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 8px;
}

.bonusSpace a{
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bonusButtonFormation{
    width: 16px;
    transform: translateY(-2px);
}


/* Right Cover Space */
.coverRightSec3{
    width: 100%;
    box-shadow: var(--shadow);
    border-radius: 24px;
}

.rightControlerSec3{
    width: calc(100% - calc(24px*2));
    padding: 11px 24px 13px 24px;
    border-radius: 24px;
    background-color: var(--c-blue-dark);
    justify-content: space-between;
}

.rightButtonControlerSec3{
    gap: 24px;
}


/* Footer ------------------------------------------------------------------ */
footer{
    min-height: 80px;
    width: 100%;
    background-color: var(--c-black);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.footerContent{
    width: 100%;
    max-width: 1112px;
    margin: 24px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.campusListe{
    margin-top: 12px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
}

.campusListe a{
    text-decoration: none;
}

.rightText{
    text-align: right;
}

.centerText{
    width: 100%;
    border-top: 1px solid var(--c-white);
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    gap: 24px;
}

.centerText a, .centerText p {
    font-size: 12px;
}

/* Popup Diginight ------------------------------------------------------------------ */
#popupDiginight{
    width: 230px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
    background-color: var(--c-white);
    border-radius: 20px;

    position: absolute;
    top: 60%;
    right: var(--m-large);
    z-index: 20;
    animation: apparition 2s forwards;
    transition: 0.25s;
    opacity: 1;
}
.popupButton{
    width: 30px;
    cursor: pointer;
}

.popupIllustration{
    width: 230px;
}

.iconeSpacePopup{
    width: 100%;
}

.duoIconePopup{
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 6px;
}

#popupDiginight h4{
    color: var(--c-black); 
    text-align: center;
}

#popupDiginight p {
    color: var(--c-black); 
}

.iconePopup{
    width: 15px;
}

#popupDiginight .btn{
    align-self: center;
    width: calc(100% - 40px);
    background-color: var(--c-white);
    color: var(--c-black);
    border-color: var(--c-black);
}
#popupDiginight .btn:hover{
    background-color: var(--c-black);
    color: var(--c-white);
}

/* Cookies ------------------------------------------------------------------ */
#cookies {
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    position: fixed;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    
    background-color: #343434e0;
    z-index: 9999;
  }
  .cookies-contain {
    width: 60vw;
    min-height: 10vh;
    background-color: var(--c-blue-dark);
    border-radius: 25px;
    padding: 20px;
    text-align: center;
    z-index: 1;
    box-shadow: 12px 12px 10px  rgba(0, 0, 0, 0.5);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }

  .choice-cookies {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }

  
  #cookies p a {
    text-decoration: underline;
  }
  
  #cookies #acceptCookie {
    background-color: var(--c-primary);
    color: white;
    border-radius: 50px;
    padding: 0px 20px 0px 20px;
    font-size: 16px;
    cursor: pointer;
    border: 1px solid var(--c-white);
    padding: 6px 12px;
  }
  
  #cookies #declineCookie {
    background-color: transparent;
    color: var(--c-white);
    border-radius: 50px;
    padding: 0px 20px 0px 20px;
    font-size: 16px;
    cursor: pointer;
    border: 1px solid var(--c-white);
    padding: 6px 12px;
  }
  

/* Media Queries ------------------------------------------------------------------ */

@media (max-width:900px) {
    :root{
        /* Font-size */
        --f-text : 12px;
        --f-h4 : 18px;

        /* Margins */
        --m-medium : 22px;
        --m-large : 50px;

        /* Padding */
        --p-box : 22px;

        /* Borders */
        --b-radius-large : 40px;
    }

    .container{
        width: calc(100% - calc(var(--m-medium)*2));
    }

    /* Header */
    header{
        display: block;
    }

    .logoNav{
        float: left;
        margin-top: 17px;
    }
    nav{
		display: none;
	}

	label{
		display: block;
		float: right;
        color: var(--c-white);
        margin-right: 20px;
        margin-top: 17px;
        float: right;
	}

	#switch:checked + nav{
		display: block;
		width: 100%;
        clear: both;
	}

    header nav{
        padding-top: 17px;
    }

	header nav ul{
        margin-right: 0px;
		flex-direction: column;
		background-color: var(--c-black);
		text-align: center;
		border-top: 1px solid var(--c-white);
        gap: 0px;
	}

    .navLink{
        list-style: none;
        padding: 20px;
		border-bottom: 1px solid var(--c-white);
		width: 100%;
    }
    
    .navLink a{
        color: var(--c-white);
    }


    /* Section 1 */
    #section1{
        min-height: 100vh;
        min-height: 100dvh;
        justify-content: flex-end;
    }
    .spaceSec1{
        min-height: 76vh;
        min-height: 76dvh;
        flex-direction: column-reverse;
        justify-content: space-between;
    }

    .textsSec1{
        width: 100%;
    }

    .imgSpaceSec1{
        width: 100%;
    }


    /* Section 2 */
    .textsSec2{
        width: calc(100% - calc(var(--p-box)*2));
        padding: var(--p-box);
        gap: 6px;
    }
    
    /* Section 3 */
    #section3{
        flex-direction: column-reverse;
        align-items: center;
    }

    .playerSpaceSec3{
        width: 100%;
    }

    .coverFormationCard{
        width: 60px;
    }

    .buttonFormationCard{
        display: none;
    }
    .buttonControler{
        gap: 6px;
    }

    /* Footer */
    .footerContent{
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .leftText, .rightText{
        width: 100%;
        text-align: left;
        margin: 24px;
    }

    .footerContent h3, .campusListe{
        margin-left: 24px;
        margin-right: 24px;
    }


    /* Popup */
    #popupDiginight{
        display: none;
    }
    
    /* Cookie */
    .choice-cookies{
        flex-direction: column;
        gap: 12px;
    }

}


/* Animation ------------------------------------------------------------------ */

@keyframes apparition {
    0%{opacity: 0; transform: translateY(30px)};
    50%{opacity: 0;transform: translateY(30px)};
    100%{opacity: 1;transform: translateY(0px)};
}