@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600&family=Poppins:wght@300;400;600&display=swap');

/* VARIABLES */
:root{
    --red:#e10600;
    --white:#ffffff;
    --dark:#111;
    --light:#f4f4f4;
}

/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins', sans-serif;
    background:var(--white);
    color:var(--dark);
    line-height:1.5;
}

/* HEADER */
header, .navbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 30px;
    border-bottom:2px solid var(--red);
    position:relative;
}
.logo{
    font-family:'Orbitron', sans-serif;
    font-size:1.5rem;
    color:var(--red);
    font-weight:600;
}
nav a{
    margin-left:18px;
    text-decoration:none;
    color:var(--dark);
    font-weight:500;
    transition:0.3s;
}
nav a:hover,
nav a.active{
    color:var(--white);
    background:var(--red);
    padding:5px 10px;
    border-radius:8px;
}
.menu-toggle{
    display:none;
    font-size:28px;
    cursor:pointer;
    color:var(--red);
}

/* HERO */
.hero{
    padding:80px 20px;
    text-align:center;
    background:var(--light);
}
.hero h1{
    font-family:'Orbitron',sans-serif;
    font-size:3rem;
    color:var(--red);
}
.hero p{
    margin-top:10px;
    font-size:1.2rem;
}

/* SECTION */
.section{
    padding:60px 40px;
    background:var(--light);
}
.section h2{
    text-align:center;
    color:var(--red);
    margin-bottom:30px;
    font-family:'Orbitron',sans-serif;
}
.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:25px;
    max-width:1200px;
    margin:auto;
}
.card{
    background:var(--white);
    padding:25px;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    transition:0.3s;
    opacity:0;
    transform:translateY(20px);
    animation:fadeInUp 0.6s forwards;
}
.card:hover{
    transform:translateY(-8px);
    box-shadow:0 0 25px rgba(225,6,0,0.3);
}
.card h3{
    color:var(--red);
    margin-bottom:15px;
}
.card p,
.card ul{
    margin-bottom:10px;
}
.card ul{
    list-style:disc;
    padding-left:20px;
}

/* BUTTONS */
.btn{
    display:inline-block;
    margin-top:20px;
    padding:12px 30px;
    background:var(--red);
    color:#fff;
    border-radius:30px;
    text-decoration:none;
    box-shadow:0 0 15px rgba(225,6,0,0.4);
    transition:0.3s;
}
.btn:hover{
    transform:scale(1.05);
}

/* FOOTER */
footer{
    background:var(--dark);
    color:var(--white);
    text-align:center;
    padding:20px;
    margin-top:40px;
}

/* MENU MOBILE */
@media(max-width:768px){
    nav{
        display:none;
        position:absolute;
        right:0;
        top:70px;
        background:var(--white);
        flex-direction:column;
        width:200px;
        box-shadow:0 10px 30px rgba(0,0,0,.2);
        border-radius:0 0 10px 10px;
        z-index:100;
    }
    nav.active{
        display:flex;
    }
    nav a{
        padding:15px;
        border-bottom:1px solid #eee;
    }
    .menu-toggle{
        display:block;
    }
}

/* ANIMATIONS */
@keyframes fadeInUp{
    to{
        opacity:1;
        transform:translateY(0);
    }
}
.card:nth-child(1){animation-delay:0.1s;}
.card:nth-child(2){animation-delay:0.3s;}
.card:nth-child(3){animation-delay:0.5s;}
.card:nth-child(4){animation-delay:0.7s;}
.card:nth-child(5){animation-delay:0.9s;}
.card:nth-child(6){animation-delay:1.1s;}

/* GOOGLE MAPS RESPONSIVE */
iframe{
    width:100%;
    border-radius:10px;
}

/* TABLEAUX ET LISTES */
table{
    width:100%;
    border-collapse:collapse;
    margin-top:20px;
}
table th, table td{
    border:1px solid var(--red);
    padding:10px;
    text-align:left;
}
table th{
    background:var(--red);
    color:#fff;
}
ul{
    padding-left:20px;
}

/* RESPONSIVE HERO ET SECTION */
@media(max-width:768px){
    .hero h1{
        font-size:2rem;
    }
    .section{
        padding:40px 20px;
    }
    .cards{
        gap:15px;
    }
}
