/* css/style.css */
:root {
    --primary: #2E8B57;     /* Vert Nature */
    --secondary: #8B4513;   /* Marron Cuir */
    --accent: #D4AF37;      /* Doré */
    --text: #333;
    --light: #f9f9f9;
}

body { font-family: 'Lora', serif; margin: 0; color: var(--text); background: var(--light); line-height: 1.6; }
h1, h2, h3, .btn, nav { font-family: 'Montserrat', sans-serif; }
a { text-decoration: none; color: inherit; transition: 0.3s; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* HEADER */
/* --- NOUVEAU CSS DU MENU (Avec sous-menu) --- */

/* --- MENU PRINCIPAL --- */
/* --- MENU PRINCIPAL --- */
.primary-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.primary-menu li {
    position: relative; /* Indispensable pour que le sous-menu se cale dessus */
    margin-left: 20px;
}

.primary-menu a {
    text-decoration: none;
    color: var(--text);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    transition: color 0.3s;
    display: block;
    padding: 10px 0;
}

.primary-menu a:hover {
    color: var(--primary);
}

/* --- LE SOUS-MENU (Le correctif est ici) --- */
.submenu {
    display: none; /* CACHE PAR DEFAUT */
    position: absolute;
    top: 100%;
    left: 0;
    background-color: white;
    min-width: 220px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-radius: 5px;
    z-index: 1000;
    padding: 10px 0;
}

/* AFFICHER AU SURVOL */
.primary-menu li:hover .submenu {
    display: flex; /* DEVIENT VISIBLE AU SURVOL */
    flex-direction: column;
}

.submenu li {
    margin: 0;
}

.submenu a {
    padding: 10px 20px;
    text-transform: none;
    color: #555;
    border-bottom: 1px solid #f0f0f0;
}

.submenu a:hover {
    background-color: #f9f9f9;
    color: var(--primary);
}
}

/* HERO & SECTIONS */
.hero { height: 40vh; display: flex; align-items: center; justify-content: center; text-align: center; color: white; position: relative; }
.hero h1 { font-size: 3rem; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); }
.section-padding { padding: 60px 0; }
.btn-hero { padding: 10px 20px; border-radius: 5px; text-decoration: none; display: inline-block; }

/* CARTES (Grilles) */
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.feature-card { background: white; padding: 20px; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); text-align: center; transition: transform 0.3s; }
.feature-card:hover { transform: translateY(-5px); }
.btn { display: inline-block; margin-top: 10px; background-color: var(--primary); color: white; padding: 8px 15px; border-radius: 4px; }

/* SIDEBAR & FICHE DETAIL */
.race-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; }
@media (max-width: 768px) { .race-layout { grid-template-columns: 1fr; } }
.race-sidebar { background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); border-top: 5px solid var(--primary); }
.race-info-item { border-bottom: 1px solid #eee; padding: 10px 0; }

/* VIDEO VERTICALE */
.video-vertical-container { position: relative; width: 100%; padding-bottom: 177.77%; height: 0; overflow: hidden; border-radius: 10px; margin-top: 10px; background: #000; }
.video-vertical-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

/* FOOTER */
footer { background: #1a1a1a; color: white; padding: 40px 0; margin-top: 50px; text-align: center; }