@import "variables.css";

/* Global */
* {
    font-family: var(--font-base);
    scroll-behavior: smooth;
}

main {
    margin: 0;
}

h1 {
    font-size: clamp(1.5rem, 4vw, 2rem);
}

/* Boutons, cards, etc */
.CTA-button {
    font-size: 14px;
    border-radius: 20px;
    border: none;
    text-decoration: none;
    background-color: var(--color-accent);
    padding: var(--space-sm);
    color: var(--color-text-contrast);
    font-weight: bold;
    cursor: pointer;
    transition: transform 0.2s;
}

.CTA-button:hover {
    transform: scale(1.05);
    transition: transform 0.2s;
}

body:not(.loaded) {
    opacity: 0;
}

body.loaded {
    opacity: 1;
    transition: opacity 0.2s;
    background-color: var(--color-bg-variant);
    margin: 0;
}

/* Header */
.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    height: 6rem;
    z-index: 9;
    backdrop-filter: blur(10px);
    background-color: var(--color-bg-navbar);

    .navbar-container {
        padding-left: var(--space-xxl);
        padding-right: var(--space-xxl);
        padding-top: var(--space-sm);

        @media (max-width: 1440px) {
            padding-left: var(--space-xl);
            padding-right: var(--space-xl);
        }

        @media (max-width: 1200px) {
            padding-left: var(--space-lg);
            padding-right: var(--space-lg);
        }

        @media (max-width: 992px) {
            padding-left: var(--space-md);
            padding-right: var(--space-md);
        }

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

        .navbar-logo img {
            max-height: 4rem;
        }

        .navbar-toggle {
            display: none;
            flex-direction: column;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0.5rem;
            gap: 4px;

            @media (max-width: 992px) {
                display: flex;
                position: relative;
            }
        }

        .navbar-toggle-icon,
        .navbar-toggle-icon::before,
        .navbar-toggle-icon::after {
            content: '';
            display: block;
            width: 25px;
            height: 3px;
            background: var(--color-primary);
            transition: transform 0.3s, opacity 0.3s;
        }

        .navbar-toggle-icon::before,
        .navbar-toggle-icon::after {
            position: absolute;
        }

        .navbar-toggle-icon::before {
            transform: translateY(-8px);
        }

        .navbar-toggle-icon::after {
            transform: translateY(8px);
        }

        .navbar-toggle.is-active .navbar-toggle-icon {
            background: transparent;
        }

        .navbar-toggle.is-active .navbar-toggle-icon::before {
            transform: rotate(45deg);
        }

        .navbar-toggle.is-active .navbar-toggle-icon::after {
            transform: rotate(-45deg);
        }

        .navbar-menu {
            display: flex;
            gap: 2rem;
            align-items: center;

            @media (max-width: 992px) {
                display: none;
                position: fixed;
                backdrop-filter: blur(10px);
                top: 6rem;
                left: 0;
                right: 0;
                flex-direction: column;
                gap: var(--space-sm);
                padding: var(--space-md) 0;
                background-color: white;
                box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            }

            .dropdown-menu {
                overflow: hidden;

                .dropdown-button {
                    font-size: 1rem;
                    border: none;
                    outline: none;
                    color: var(--color-text);
                    background-color: inherit;
                    font-family: inherit;
                    cursor: pointer;
                    display: flex;
                    gap: 4px;
                    align-items: center;

                    img {
                        width: 15px;
                        height: 15px;
                    }
                }

                .dropdown-content {
                    display: none;
                    position: absolute;
                    background-color: white;
                    min-width: 160px;
                    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);

                    a {
                        float: none;
                        color: black;
                        padding: 12px 16px;
                        text-decoration: none;
                        display: block;
                        text-align: left;
                        cursor: pointer;
                    }

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

                    &.is-active {
                        display: block;
                    }
                }
            }

            .dropdown-menu:hover .dropdown-content {
                display: block;
            }

            .navbar-redirection {
                text-decoration: none;
                color: var(--color-text);
            }

            > .navbar-redirection:hover {
                color: var(--color-accent);
            }
        }

        .navbar-menu.is-active{
            @media (max-width: 992px) {
                display: flex;
                flex-direction: column;
            }
        }
    }
}

/* Body composants */
.container-margin {
    margin-bottom: var(--space-xl);
    position-area: top;

    margin-left: var(--space-xxl);
    margin-right: var(--space-xxl);

    @media (max-width: 1440px) {
        margin-left: var(--space-xl);
        margin-right: var(--space-xl);
    }

    @media (max-width: 1200px) {
        margin-left: var(--space-lg);
        margin-right: var(--space-lg);
    }

    @media (max-width: 992px) {
        margin-left: var(--space-md);
        margin-right: var(--space-md);
    }

    @media (max-width: 480px) {
        margin-left: var(--space-sm);
        margin-right: var(--space-sm);
    }
}

.container-padding {
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-lg);
    padding-right: var(--space-xxl);
    padding-left: var(--space-xxl);
    
    @media (max-width: 1440px) {
        padding-left: var(--space-xl);
        padding-right: var(--space-xl);
    }

    @media (max-width: 1200px) {
        padding-left: var(--space-lg);
        padding-right: var(--space-lg);
    }

    @media (max-width: 992px) {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }

    @media (max-width: 480px) {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }
}

.container-hero {
    padding-top: var(--space-lg);
    margin-top: 6rem;
    margin-bottom: var(--space-lg);
    background: linear-gradient(var(--color-bg-gradient-blue), var(--color-bg-gradient-blue-lighter), var(--color-bg-variant));

    @media (max-width: 480px) {
        padding-top: var(--space-sm);
    }
}

/* Q&A container */
.faq {
    display: flex;
    flex-direction: row;
    gap: var(--space-lg);

    @media (max-width: 992px) {
        flex-direction: column;
        gap: var(--space-md);
    }

    .title {
        width: 50%;

        @media (max-width: 992px) {
            align-self: center;
            width: 80%;

            h2{
                text-align: center;
            }
        }
    }

    .questions {
        display: flex;
        flex-direction: column;
        gap: var(--space-md);
        margin: auto;
        width: 50%;

        @media (max-width: 992px) {
            width: 80%;
        }

        .faq-card {
            background-color: var(--color-secondary);
            padding: 0 var(--space-sm);
            border-radius: 10px;
            position: relative;
            cursor: pointer;

            .faq-title {
                margin-right: var(--space-lg);
                margin-bottom: var(--space-md);
            }

            .faq-text {
                display: none;
            }

            .faq-toggle {
                position: absolute;
                top: 0.75rem;
                right: var(--space-sm);
                width: var(--space-md);
                font-size: var(--space-md);
                font-weight: bold;
                color: var(--color-accent);
                border: none;
                background-color: transparent;
                cursor: pointer;
                transform: rotate(0);
                transition: transform 0.5s;
            }
        }

        .faq-card.active .faq-text {
            text-align: justify;
            display: block;
        }

        .faq-card.active .faq-toggle {
            transform: rotate(225deg);
            transition: transform 0.5s;
        }
    }
}

/* Footer container */
footer {
    background-color: var(--color-footer);
    padding: var(--space-lg) var(--space-xxl);
    color: var(--color-text-contrast);

    @media (max-width: 1440px) {
        padding-left: var(--space-xl);
        padding-right: var(--space-xl);
    }

    @media (max-width: 992px) {
        padding: var(--space-lg);
    }

    .footer-container {
        display: flex;
        flex-direction: row;
        gap: var(--space-xl);
        margin-bottom: var(--space-lg);
        padding-bottom: var(--space-lg);
        border-bottom: 1px solid white;

        @media (max-width: 768px) {
            flex-direction: column;
            gap: var(--space-md);
        }

        .left {
            flex: 1;
            
            @media (max-width: 768px) {
                align-self: center;
            }

            img {
                max-width: 150px;
                height: auto;
                margin: 1.25rem;

                @media (max-width: 768px) {
                    margin: auto;
                }
            }
        }
        
        .right {
            flex: 1;
            
            h4 {
                margin-bottom: var(--space-md);
            }
            /* Flèche déscendant sur le boutons "contactez-nous" */
            
            .contact {
                display: flex;
                align-items: center;
                gap: var(--space-sm);

                img {
                    width: 25px;
                    height: 25px;
                }

                a {
                    text-decoration: none;
                    color: var(--color-text-contrast);
                }
            }
        }
    }

    .links {
        display: flex;
        justify-content: space-between;

        @media (max-width: 768px) {
            flex-direction: column-reverse;
            gap: var(--space-md);
        }

        .legal {
            display: flex;
            flex-direction: column;

            .legal-requirements {
                display: flex;
                gap: var(--space-lg);

                @media (max-width: 768px) {
                    flex-wrap: wrap;
                    gap: var(--space-sm);
                }

                a {
                    text-decoration: none;
                    color: var(--color-text-contrast);
                    opacity: 0.6;
                }

                a:hover {
                    opacity: 1;
                    transform: scale(1.05);
                    transition: all 0.2s;
                }
            }

            p {
                opacity: 0.6;
            }
        }

        .social-media {
            display: flex;
            gap: var(--space-xs);
            justify-content: start;

            img {
                cursor: pointer;
            }

            img:hover {
                transform: scale(1.2);
            }
        }
    }
}

.bad-request {
    height: 50vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}