/* --- CONFIGURATION GLOBALE --- */
        body {
            /* Fond avec une légère grille comme sur la maquette, ou fond sombre selon ta préférence globale */
            background-color: #f4f4f4; 
            background-image: radial-gradient(#e5e5e5 1px, transparent 1px);
            background-size: 20px 20px;
            font-family: 'Segoe UI', sans-serif;
            color: #333;
            margin: 0;
        }

        /* Si tu veux garder le fond noir du site, décommente ceci : */
        /* body { background: #121212; color: white; background-image: none; } 
        .project-card, .info-card { background: #1e1e1e !important; color: white !important; }
        .project-card .card-footer { background: #2a2a2a !important; color: white !important; }
        */

        .main-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px 20px;
        }

        /* --- HEADER NAVIGATION --- */
        .top-nav {
            margin-bottom: 30px;
        }
        .back-link {
            text-decoration: none;
            color: inherit;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 1.1rem;
        }
        .project-main-title {
            font-size: 3rem;
            font-weight: 900;
            margin: 10px 0 40px 0;
        }

        /* --- LAYOUT GRID (2 Colonnes) --- */
        .project-layout {
            display: grid;
            grid-template-columns: 350px 1fr; /* Gauche fixe, Droite flexible */
            gap: 60px;
            align-items: start;
        }

        /* --- COLONNE GAUCHE : LA CARTE "REEL" --- */
        .project-card {
            background: white;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
            position: relative;
            transition: transform 0.3s ease;
        }
        
        /* Le sticker jaune "Com/Dev" en haut à gauche */
        .pole-sticker {
            position: absolute;
            top: -15px;
            left: -15px;
            background: #ffe600; /* Jaune maquette */
            color: black;
            font-weight: 800;
            padding: 25px 20px 10px 25px; /* Forme un peu organique */
            border-radius: 50%;
            transform: rotate(-15deg);
            z-index: 10;
            box-shadow: 2px 2px 10px rgba(0,0,0,0.1);
        }

        .media-container {
            width: 100%;
            height: 400px; /* Hauteur fixe pour le look "carte" */
            background: #000;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .media-container img, .media-container video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .card-footer {
            padding: 20px;
            background: white;
            position: relative;
        }
        
        .student-info h3 { margin: 0 0 5px 0; font-size: 1.1rem; font-weight: bold; }
        .student-info p { margin: 0; font-size: 0.85rem; color: #666; line-height: 1.4; }
        
        .card-actions {
            margin-top: 15px;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
        }
        .qr-code img { width: 60px; height: 60px; }
        
        .like-badge {
            color: #ff4757;
            font-weight: bold;
            display: flex;
            align-items: center;
            gap: 5px;
            font-size: 1.2rem;
        }

        /* --- COLONNE DROITE : DESCRIPTION --- */
        .info-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 20px;
            border-bottom: 2px solid #eee;
            padding-bottom: 20px;
        }
        .info-header h2 { margin: 0; font-size: 2rem; }
        .promo-badge { font-size: 1.5rem; font-weight: 300; }

        .tags-container {
            margin-bottom: 30px;
        }
        .tag-pill {
            display: inline-block;
            background: #ffe600;
            padding: 5px 15px;
            border-radius: 20px;
            font-weight: bold;
            font-size: 0.9rem;
            margin-right: 10px;
            margin-bottom: 10px;
        }

        .wysiwyg-content {
            line-height: 1.8;
            font-size: 1.1rem;
            color: #444;
            margin-bottom: 40px;
            /* Si fond noir : color: #ddd; */
        }
        /* Styles pour que le texte de la BDD soit propre */
        .wysiwyg-content img { max-width: 100%; border-radius: 10px; }

        .social-links {
            display: flex;
            gap: 20px;
            font-size: 1.5rem;
        }
        .social-links a { color: black; transition: 0.3s; }
        .social-links a:hover { color: #3b82f6; }

        /* --- GALERIE BAS DE PAGE --- */
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 30px;
            margin-top: 80px;
        }

        /* Responsive Mobile */
        @media (max-width: 900px) {
            .project-layout { grid-template-columns: 1fr; }
            .project-card { max-width: 400px; margin: 0 auto; }
            .project-main-title { font-size: 2rem; text-align: center; }
        }