/* Styles généraux */
*,
*::after,
*::before {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
}

/* ================================================================ POLICES =============================================================== */
@font-face {
    font-family: 'BowlbyOne';
    src: url('polices/BowlbyOne-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Satoshi';
    src: url('polices/Satoshi-Medium.woff') format('woff');
}

@font-face {
    font-family: 'Rubik';
    src: url('polices/RubikGlitch-Regular.ttf') format('truetype');
}

/*========================================================VIDEO=================================================================*/ 
.background_video {
    height: 100%;
    width: 99%;
    object-fit: cover;
    position: absolute;
    z-index: -1;
    filter: blur(0.3rem) brightness(0.75);
}

header {
    height: 100vh;
    width: 100%;
}

/* ============================================================== BARRE DE NAVIGATION ================================================================= */
nav {
    display: grid;
    grid-template-columns: 1fr 3fr;
    align-items: center;
    height: 7.5vh;
    overflow: hidden;
    background-color: black;
}

nav img {
    height: 3rem;
    width: 4rem;
    justify-self: start;
    margin-left: 2rem;
}

nav a {
    text-decoration: none;
    color: rgb(255, 255, 255);
    font-size: 1.2rem;
    font-family: 'Satoshi', sans-serif;
    padding-right: 2rem;
}

nav a:hover {
    text-decoration: underline;
} 

.navbar ul {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    justify-self: end;
}

/* ================================================= TITRE HOME =============================================================== */
h1 {
    font-size: 3rem;
    font-family: 'Rubik', sans-serif;
}

.titleHome h1 {
    color: white;
}

.titleHome {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    text-align: center;
}

.decouvrir img {
    width: 70%;
    align-items: center;
    justify-content: center;
    animation: floater 3s infinite ease-in-out;
}

@keyframes floater {
    0% {
        transform: translateY(-10%);
        transition: ease 0.5s;
    }
    50% {
        transform: translateY(10%);
        transition: ease 0.5s;
    }
}

.decouvrir:hover {
    transform: scale(1.1); 
    transition: transform 0.3s ease;
}

/*============================================== FOOTER=================================================  */
footer {
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    background-color: rgb(0, 0, 0);
}

footer a {
    color: white;
    text-decoration: none;
    font-family: "Satoshi", sans-serif;

}

footer a:hover {
    text-decoration: underline;
}


.brandLogo img {
    height: 3rem;
    width: 4rem;
    justify-content: center;
}

/* ==========================================================================CONCEPT============================================================== */
.leConcept {
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 70px 0;
    height: 100vh;
}

.leConcept h2 {
    color: rgb(255, 255, 255);
    font-size: 2rem;
    margin-bottom: 50px;
    font-weight: 500;
    font-family: 'BowlbyOne', sans-serif;
}

.leConcept h3 {
    font-weight: 200px;
    font-family: 'Satoshi', sans-serif;
}

.leConcept p {
    width: 70%;
    font-size: 1rem;
    text-align: center;
    font-family: "Satoshi", sans-serif;
}

/* ================================================== CAROUSSEL ============================================= */

.wrapper {
    max-width: 90%;
    width: 100%;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding: 25px 30px;
}

.wrapper i {
    top: 50%;
    height: 50px;
    width: 50px;
    cursor: pointer;
    font-size: 3rem;
    position: absolute;
    text-align: center;
    line-height: 50px;
    font-family: 'Rubik', sans-serif;
}

.wrapper i:active {
    transform: translateY(-15%) scale(0.85);
}

.wrapper i:first-child {
    left: -22px;
}

.wrapper i:last-child {
    right: -22px;
}

.arrow-right {
    color: white;
}

.arrow-right:hover {
    transform: scale(1.1); 
    transition: transform 0.3s ease;
}

.arrow-left {
    color: white;
}

.arrow-left:hover {
    transform: scale(1.1); 
    transition: transform 0.3s ease;
}

.wrapper .carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% / 3) - 12px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    border-radius: 8px;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.carousel::-webkit-scrollbar {
    display: none;
}

.carousel.no-transition {
    scroll-behavior: auto;
}

.carousel.dragging {
    scroll-snap-type: none;
    scroll-behavior: auto;
}

.carousel.dragging .card {
    cursor: grab;
    user-select: none;
}

.carousel :where(.card, .img) {
    display: flex;
    justify-content: center;
    align-items: center;
}

.carousel .card {
    scroll-snap-align: start;
    height: 400px;
    list-style: none;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    padding-bottom: 15px;
    flex-direction: column;
}

.card .img {
    width: 140px;
    height: 140px;
    object-fit: cover;
}

.carousel .card p {
    font-weight: 1000;
    font-size: 1.56rem;
    margin: 30px 0 5px;
    font-family: 'BowlbyOne', sans-serif;
    color: rgb(255, 255, 255);
    text-align: center;
    background-color: rgb(0, 0, 0);
}

.carousel .card a {
    text-decoration: none;
}

.slider {
    background-color: rgb(32, 32, 32);
    padding: 50px 0;
    display: flex;
    height: 100vh;
    flex-direction: column;
    justify-content: center;
}

.slider h2 {
    color: white;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 60px;
    font-size: 2rem;
    font-family: 'BowlbyOne', sans-serif;
}

.carousel .card img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px; 
}
