@import "variables.css";

/* Hero/First container */
.hero {
    display: flex;
    flex-direction: row;

    @media (max-width: 480px) {
        flex-direction: column;
    }

    .left-side {
        flex: 3;
        max-width: fit-content;
        gap: var(--space-md);

        .description {
            margin-bottom: var(--space-lg);
            font-size: clamp(1.1rem, 4vw, 1.25rem);
        }
    }

    .right-side {
        flex: 2;
        margin-top: 1.5rem;
        margin-right: var(--space-md);
        margin-left: var(--space-md);

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

        img {
            max-width: 500px;
            width: 100%;
            height: auto;
            border-radius: 20px;

            @media (max-width: 480px) {
                max-width: 300px;
            }
        }
    }
}

/* Services container */
.services {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    position: relative;

    .services-container {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: var(--space-md);

        .card {
            background-color: var(--color-secondary);
            width: 200px;
            border-radius: 10px;
            padding: var(--space-md);
            display: flex;
            flex-direction: column;

            img {
                object-fit: cover;
                height: 200px;
                width: 200px;
                border-radius: 25px;
            }

            .title {
                margin-bottom: 0;
            }

            .description {
                padding-bottom: var(--space-md);
                margin-bottom: auto;
            }

            .redirection-button {
                text-decoration: none;
                border: 1px solid black;
                border-radius: 5px;
                background-color: transparent;
                width: fit-content;
                padding: var(--space-xs) var(--space-md);
                align-self: center;
                font-weight: bold;
                cursor: pointer;
                font-size: 14px;
                color: var(--color-text);
                transition: transform 0.2s;
            }

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

/* About us containter */
.about-us {
    display: flex;
    flex-direction: row;
    gap: var(--space-lg);
    padding: var(--space-lg);
    background-color: var(--color-bg-gradient-blue-lighter);

    @media (max-width: 768px) {
        padding: var(--space-xs);
    }

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

    img {
        object-fit: cover;
        max-width: 33%;
        height: auto;

        @media (max-width: 768px) {
            display: none;
        }
    }

    .right-side {
        h3 {
            color: var(--color-primary);
        }

        > :nth-child(n+2) {
            margin-bottom: var(--space-md);
        }

        p {
            text-align: justify;
        }
    }
}

/* Achievements container */
.achievements {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);

    .carousel {
        width: 100%;
        overflow: hidden;
        position: relative;

        .carousel-track {
            padding: var(--space-xs);
            display: flex;
            gap: 1rem;
            animation: scroll 20s linear infinite;
            will-change: transform;

            img {
                flex: 0 0 200px;
                height: 200px;
                background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                border-radius: 1rem;
                transition: transform 0.3s;
                object-fit: contain;
            }

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

        .carousel-track:hover {
            animation-play-state: paused;
        }
    }
}

/* Animations */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(calc(-200px * 6 - 1rem * 6));
    }
}

@media (max-width: 768px) {
    @keyframes scroll {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(calc(-150px * 6 - 1rem * 6));
        }
    }
}