        .project-detail-section {
            padding: 150px 10vw 80px 10vw;
            max-width: 1400px;
            margin: 0 auto;
            text-align: left;
        }

        .project-header h1 {
            font-size: 3.5em;
            font-weight: 700;
            margin-bottom: 5px;
            color: var(--text-color);
        }

        .project-header .tags {
            font-size: 1.1em;
            color: var(--accent-color);
            margin-bottom: 30px;
        }

        .project-header .hero-image {
            width: 100%;
            height: 500px;
            overflow: hidden;
            border-radius: 10px;
            margin-bottom: 50px;
        }

        .project-header .hero-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .project-body {
            display: grid;
            grid-template-columns: 2fr 1fr; /* Contenu principal et barre latérale d'informations */
            gap: 50px;
        }

        .project-main h2 {
            font-size: 2em;
            color: var(--accent-color);
            margin-top: 40px;
            margin-bottom: 20px;
        }

        .project-main p {
            font-size: 1.1em;
            margin-bottom: 25px;
        }

        .project-main ul {
            list-style-type: none;
            padding-left: 0;
        }

        .project-main ul li {
            margin-bottom: 10px;
            font-size: 1.05em;
        }
        
        .project-sidebar {
            background-color: var(--card-bg);
            padding: 30px;
            border-radius: 10px;
            height: fit-content;
        }

        .project-sidebar h3 {
            font-size: 1.5em;
            margin-top: 0;
            border-bottom: 1px solid var(--border-color);
            padding-bottom: 10px;
            margin-bottom: 20px;
        }

        .project-meta div {
            margin-bottom: 15px;
            font-size: 1em;
        }

        .project-meta span {
            font-weight: 600;
            color: var(--accent-color);
            display: block;
            margin-bottom: 5px;
        }

        .project-meta a {
            text-decoration: none;
            color: var(--text-color);
            transition: color 0.3s;
        }

        .project-meta a:hover {
            color: var(--accent-color);
        }

        /* --- Badges Compétences Référentiel BUT --- */
        .but-skills-container {
            margin-top: 25px;
            padding-top: 15px;
            border-top: 1px solid var(--border-color);
        }

        .but-skills-container h4 {
            font-size: 1.1em;
            margin-top: 0;
            margin-bottom: 15px;
            color: var(--text-color);
            font-weight: 600;
        }

        .skill-badge {
            display: inline-block;
            background-color: rgba(0, 123, 255, 0.1); /* Fond bleuté transparent */
            color: var(--accent-color);
            border: 1px solid var(--accent-color);
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.85em;
            font-weight: 600;
            margin-bottom: 10px;
            margin-right: 5px;
            cursor: help; /* Indique au jury qu'il peut survoler */
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .skill-badge:hover {
            background-color: var(--accent-color);
            color: var(--dark-bg);
        }

        .skill-badge i {
            margin-right: 5px;
        }
        
        /* Responsive */
        @media (max-width: 1024px) {
            .project-body {
                grid-template-columns: 1fr; /* Une seule colonne sur tablette/mobile */
                gap: 30px;
            }
            .project-detail-section {
                padding: 100px 5vw 50px 5vw;
            }
            .project-header .hero-image {
                height: 300px;
            }
        }