.menu-burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-xxs);
    padding: var(--spacing-xs);
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001;

    .menu-burger__line {
        display: block;
        width: var(--spacing-lg);
        height: 2px;
        background-color: var(--color-text);
    }

    &:hover {
        color: var(--color-secondary);
        text-decoration: underline;

        .menu-burger__line {
            background-color: var(--color-secondary);
        }
    }
}

/* Burger blanc sur la page d'accueil */
body.home .menu-burger {
    color: var(--color-white);
    transition: color 0.3s ease;

    .menu-burger__line {
        background-color: var(--color-white);
        transition: background-color 0.3s ease;
    }

    &:hover {
        color: var(--color-secondary);

        .menu-burger__line {
            background-color: var(--color-secondary);
        }
    }

    /* Au scroll, revenir à la couleur de base */
    &.menu-burger--scrolled {
        color: var(--color-text);

        .menu-burger__line {
            background-color: var(--color-text);
        }

        &:hover {
            color: var(--color-secondary);

            .menu-burger__line {
                background-color: var(--color-secondary);
            }
        }
    }
}

.menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    visibility: hidden;
    transition: background-color 0.4s ease, visibility 0.4s ease;

    .menu-overlay__content {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: var(--spacing-xxxl) 6rem;
        background-color: var(--color-tertiary);
        gap: var(--spacing-4xl);
        width: 75%;
        margin-left: auto;
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        overflow-y: auto;
    }

    .menu-overlay__top {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;

        .menu-overlay__logo-link {
            display: flex;
            align-items: center;
            margin-bottom: var(--spacing-xl);
        }

        .menu-overlay__logo {
            height: auto;
            max-height: 150px;
        }
    }

    .menu-overlay__close {
        display: flex;
        align-items: center;
        gap: var(--spacing-sm);
        background: transparent;
        border: none;
        color: var(--color-white);
        font-size: var(--fs-text);
        font-family: var(--ff-text);
        text-transform: uppercase;
        letter-spacing: 1px;
        cursor: pointer;
        padding: var(--spacing-sm);
        transition: opacity 0.3s ease;

        &:hover {
            color: var(--color-secondary);
            text-decoration: underline;

            .menu-overlay__close-icon {

                &::after,
                &::before {
                    background-color: var(--color-secondary);
                }
            }
        }

        .menu-overlay__close-icon {
            position: relative;
            width: var(--spacing-lg);
            height: var(--spacing-lg);

            &::before,
            &::after {
                content: '';
                position: absolute;
                top: var(--spacing-half);
                left: 0;
                width: var(--spacing-full);
                height: 2px;
                background-color: var(--color-white);
            }

            &::before {
                transform: rotate(45deg);
            }

            &::after {
                transform: rotate(-45deg);
            }


        }
    }

    .menu-overlay__title {
        color: var(--color-white);
        font-size: var(--fs-title);
        font-family: var(--ff-title);
        font-weight: var(--fw-bold);
        margin: 0 0 var(--spacing-xs) 0;
    }

    .menu-overlay__subtitle {
        color: var(--color-hover);
        font-size: var(--fs-text);
        font-family: var(--ff-text);
        text-transform: uppercase;
        letter-spacing: 2px;
    }

    .menu-overlay__main {
        display: grid;
        grid-template-columns: 0.5fr 2fr;
        gap: var(--spacing-xxl);
    }


    .menu-overlay__nav-section {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-md);

        .menu-overlay__nav-title {
            color: var(--color-secondary);
            font-size: var(--fs-subtitle);
            font-family: var(--ff-title);
            font-weight: var(--fw-bold);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .menu-overlay__nav-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: var(--spacing-sm);

            .menu-overlay__nav-link {
                color: var(--color-white);
                font-size: var(--fs-text);
                font-family: var(--ff-text);
                text-decoration: none;
                text-transform: uppercase;
                letter-spacing: 1px;
                transition: all 0.3s ease;

                &:hover {
                    color: var(--color-secondary);
                    text-decoration: underline;
                }
            }
        }
    }

    .menu-overlay__solutions {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spacing-xl);

        .menu-overlay__solutions-category {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-sm);
        }
    }

    .menu-overlay__solutions-nav {
        .menu-solutions-title {
            color: var(--color-secondary);
            font-size: var(--fs-text);
            font-family: var(--ff-title);
            font-weight: var(--fw-bold);
            text-transform: uppercase;
        }

        .menu-solutions-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: var(--spacing-xs);

            a {
                color: var(--color-hover);
                font-size: var(--fs-text);
                font-family: var(--ff-text);
                text-decoration: none;
                transition: color 0.3s ease;

                &:hover {
                    color: var(--color-secondary);
                    text-decoration: underline;
                }
            }
        }
    }

    .menu-overlay__footer {
        padding: var(--spacing-lg) 0;
        border-left: 3px solid var(--color-primary);
        padding-left: var(--spacing-md);
    }
}

.menu-overlay.menu-overlay--open {
    visibility: visible;
    background-color: var(--color-overlay);

    .menu-overlay__content {
        transform: translateX(0);
    }
}

body.menu-open {
    overflow: hidden;
}

@media (max-width: 1024px) {
    .menu-overlay {

        .menu-overlay__top {
            .menu-overlay__logo {
                max-height: 100px;
            }
        }

        .menu-overlay__content {
            padding: var(--spacing-4xl);
            width: 100%;
        }

        .menu-overlay__main {
            grid-template-columns: 1fr;
            gap: var(--spacing-xl);
        }

        .menu-overlay__solutions {
            grid-template-columns: 1fr;
        }

        .menu-overlay__nav-section {
            .menu-overlay__nav-list {
                flex-direction: row;
                flex-wrap: wrap;
                gap: var(--spacing-md);
            }
        }
    }
}

@media (max-width: 768px) {
    .menu-overlay {
        .menu-overlay__content {
            padding: var(--spacing-xxl);
        }
    }
}