.présentation-projet {
    position: relative;
    overflow: hidden;

    padding-bottom: 10rem;

    &::before {
        position: absolute;
        z-index: -1;
        inset: 0;

        content: "";
        background-image: var(--url-fond);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: fixed;
        filter: brightness(0.5) blur(5px) contrast(1.1);
    }

    .entête {
        position: relative;
        width: 100%;

        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5rem;

        padding: 10rem 0;

        img {
            width: 100%;
            height: 50vh;
            height: 50dvh;
            object-fit: cover;
            object-position: center;

            grid-column: 1 / 2;
            grid-row: 1 / 2;
        }

        .textes {
            padding: 0 5rem;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            align-items: center;
            gap: 5rem;

            text-align: center;

            grid-column: 1 / 2;
            grid-row: 1 / 2;

            h2 {
                /* background-color: rgba(0, 0, 0, 0.7); */
                color: white;
                border-radius: 1rem;
                font-size: 5rem;
            }
            p {
                /* background-color: rgba(0, 0, 0, 0.7); */
                color: white;
                border-radius: 1rem;
                font-size: 1.5rem;

                white-space: pre-wrap;
            }
        }
    }

    .liste-blocs {
        display: flex;
        flex-direction: column;
        align-items: stretch;

        gap: 5rem;

        .bloc {
            display: flex;
            flex-direction: column;
            align-items: stretch;

            video {
                max-width: 100%;
                max-height: 100vh;
                max-height: 100dvh;
                align-self: center;

                &::-webkit-media-controls-volume-slider {
                    display: none;
                }
            }

            .présentation-bloc {
                padding: 5rem;

                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 3rem;

                text-align: center;

                h3 {
                    font-size: 3rem;
                }
                p {
                    font-size: 1.5rem;
                    white-space: pre-wrap;
                }

                .liens {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    justify-content: center;
                    align-items: center;
                    align-content: center;
                    gap: 1rem;

                    a {
                        text-decoration: none;

                        background-color: white;
                        border-radius: 0.5rem;

                        display: flex;
                        flex-direction: row;
                        align-items: center;
                        gap: 0.25rem;

                        padding: 0.5rem;

                        transition: transform 200ms ease-in-out;

                        &:hover {
                            transform: scale(1.1);
                        }

                        span {
                            color: black;
                        }
                        img {
                            width: 1rem;
                            height: 1rem;
                        }
                    }
                }
            }

            .gallerie {
                padding: 1rem;

                & > div {
                    padding: 0 5rem;
                    display: flex;
                    flex-direction: row;
                    justify-content: center;
                    align-content: flex-start;
                    align-items: center;
                    flex-wrap: wrap;
                    gap: 1rem;

                    .bloc-image {
                        width: 20rem;
                        height: 12rem;
                        overflow: visible;

                        display: flex;
                        justify-content: center;
                        align-items: center;

                        z-index: 1;

                        img {
                            width: 20rem;
                            height: 12rem;

                            object-fit: cover;
                            object-position: center;

                            transition: 300ms ease-in-out;

                        }
                        &:hover {
                            z-index: 2;
                            img {
                                transform: scale(1.2);
                            }
                        }
                    }
                }
            }
        }
    }
}

.visioneuse-image {
    position: fixed;
    inset: 0;

    background-color: rgba(0, 0, 0, 0.8);

    opacity: 0;
    pointer-events: none;

    transition: opacity 300ms ease-in-out;

    z-index: 9999;

    user-select: none;

    &.active {
        pointer-events: auto;
        opacity: 1;
        cursor: pointer;
    }

    img {
        width: 100%;
        height: 100%;

        object-fit: contain;
        object-position: center;
    }
}

@media (orientation: portrait) and (max-width: 768px),
       (orientation: landscape) and (max-height: 768px) {
    .présentation-projet {
        .entête {
            gap: 5rem;

            padding: 6rem 0;

            img {
                height: 50vh;
                height: 50dvh;
            }

            .textes {
                padding: 0 1rem;
                gap: 5rem;

                h2 {
                    font-size: 3rem;
                }
                p {
                    font-size: 1.25rem;
                }
            }
        }

        .liste-blocs {
            gap: 5rem;

            .bloc {
                .présentation-bloc {
                    padding: 5rem 1rem;

                    gap: 3rem;

                    h3 {
                        font-size: 2.5rem;
                    }
                    p {
                        font-size: 1.25rem;
                    }
                }

                .gallerie {
                    padding: 1rem;

                    & > div {
                        gap: 1rem;

                        padding: 0;

                        .bloc-image {
                            width: 10rem;
                            height: 6rem;

                            img {
                                width: 10rem;
                                height: 6rem;
                            }
                            &:hover {
                                img {
                                    transform: none;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    html:has(.visioneuse-image.active) {
        overflow: hidden;
    }
}