@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('../css/variable.css');
@import url('../css/navbar.css');
@import url('../css/main.css');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

a.btn {
    text-decoration: none;
}

.btn {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    background-color: transparent;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.btn-mobile {
    font-size: 1.5rem;
    color: var(--color-neutral-0);
}


.btn-default {
    background-color: var(--color-neutral-6);
    color: var(--color-neutral-0);


    &:hover {
        background-color: var(--color-neutral-4);
        color: var(--color-neutral-6);
    }
}

.btn-outlined {
    background-color: transparent;
    color: var(--color-neutral-4);
    border: 2px solid var(--color-neutral-4);

    &:hover {
        background-color: var(--color-neutral-4);
        color: var(--color-neutral-0);

    }
}

.btn-whatsapp {
    background-color: #25D366;
    color: #ffffff;
    border: 2px solid #25D366;

    i {
        font-size: 1.2rem;
    }

    &:hover {
        background-color: #20BA5A;
        border-color: #20BA5A;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
    }

    &:active {
        transform: translateY(0);
    }
}

/* Estilo específico para mobile */
@media (max-width: 768px) {
    .btn-whatsapp {
        padding: 12px 24px;
        font-size: 1.1rem;

        i {
            font-size: 1.4rem;
        }

        .home-actions {
            flex-direction: column;
            width: 100%;

            .btn {
                width: 100%;
                justify-content: center;
            }
        }
    }

    /* Media queries para mobile (até 768px) */
    @media (max-width: 768px) {
        #container {
            background-size: cover;
            background-position: center;
        }


        .title {
            font-size: 1.8rem;
            margin-bottom: 24px;

            &::before {
                width: 40px;
                height: 3px;
            }
        }


        #home {
            padding: 24px 4%;
            padding-top: clamp(20px, 8vw, 40px);
            gap: 16px;
            min-height: auto;
            border-radius: 0;

            .home-image {
                width: clamp(200px, 60%, 300px);
                margin-bottom: 8px;
            }

            .home-title {
                font-size: clamp(2rem, 8vw, 3rem);
                line-height: 1.3;
                margin-bottom: 8px;
            }

            .home-video {
                width: clamp(250px, 85%, 350px);
                margin: 16px 0;
            }

            .home-description {
                font-size: 0.95rem;
                line-height: 1.6;
                padding: 0 8px;
            }

            .home-actions {
                flex-direction: column;
                width: 100%;
                gap: 12px;
                margin-top: 20px;

                .btn {
                    width: 100%;
                    max-width: 280px;
                    padding: 12px 24px;
                    font-size: 1rem;
                    justify-content: center;
                }
            }
        }


        #service {
            padding: 32px 4%;
            gap: 24px;
            min-height: auto;
            border-radius: 0;
            background-size: cover;

            .title {
                margin-bottom: 20px;
            }

            .service-cards {
                gap: 16px;
                width: 100%;

                .service-card {
                    min-width: 100%;
                    max-width: 100%;
                    padding: 20px 16px;
                    gap: 12px;

                    .service-icon {
                        font-size: 2.5rem;
                        margin-bottom: 12px;
                    }

                    .service-title {
                        font-size: 1.1rem;
                        line-height: 1.4;
                        margin-bottom: 8px;
                    }

                    .service-text {
                        font-size: 0.9rem;
                        line-height: 1.6;
                    }


                    &:hover {
                        transform: translateY(-4px);
                    }
                }
            }
        }


        #about {
            padding: 32px 4% 40px;
            min-height: auto;
            border-radius: 0;
            background-size: cover;

            .title {
                margin-bottom: 20px;
            }

            .about-content {
                padding-top: 0;
                gap: 20px;
                width: 100%;

                .about-info {
                    padding: 20px 16px;
                    max-width: 100%;

                    h3 {
                        font-size: 1.5rem;
                        margin-bottom: 12px;
                        line-height: 1.3;
                    }

                    p {
                        font-size: 0.95rem;
                        line-height: 1.7;
                    }


                    &:hover {
                        transform: translateY(-3px) scale(1.01);
                    }
                }
            }
        }


        .footer {
            padding: 40px 4% 20px;
            border-radius: 0;

            .footer-content {
                grid-template-columns: 1fr;
                gap: 30px;
                text-align: center;
                margin-bottom: 30px;

                .footer-section {
                    h3 {
                        font-size: 1.3rem;

                        &::after {
                            left: 50%;
                            transform: translateX(-50%);
                        }
                    }

                    h4 {
                        font-size: 1.1rem;
                    }

                    p {
                        font-size: 0.95rem;
                    }

                    .footer-link {
                        font-size: 1rem;
                        justify-content: center;
                    }

                    .social-links {
                        justify-content: center;
                        gap: 16px;

                        .social-link {
                            width: 45px;
                            height: 45px;
                            font-size: 1.3rem;
                        }
                    }
                }
            }

            .footer-bottom {
                padding-top: 24px;
                margin-top: 30px;

                p {
                    font-size: 0.85rem;
                }
            }
        }
    }


    @media (min-width: 769px) and (max-width: 1024px) {
        #home {
            padding: 32px 4%;

            .home-image {
                width: clamp(250px, 45%, 350px);
            }

            .home-title {
                font-size: clamp(2.5rem, 6vw, 3.5rem);
            }
        }

        .service-card {
            min-width: calc(50% - 12px);
            max-width: calc(50% - 12px);
        }
    }


    @media (max-width: 480px) {
        .title {
            font-size: 1.5rem;

            &::before {
                width: 35px;
                height: 2px;
            }
        }

        #home {
            padding: 20px 3%;
            gap: 12px;

            .home-image {
                width: clamp(180px, 70%, 250px);
            }

            .home-title {
                font-size: clamp(1.8rem, 10vw, 2.5rem);
            }

            .home-video {
                width: 90%;
            }

            .home-description {
                font-size: 0.9rem;
                padding: 0 4px;
            }

            .home-actions {
                .btn {
                    max-width: 100%;
                    padding: 14px 20px;
                }
            }
        }

        #service {
            padding: 24px 3%;

            .service-card {
                padding: 16px 12px;

                .service-icon {
                    font-size: 2rem;
                }

                .service-title {
                    font-size: 1rem;
                }

                .service-text {
                    font-size: 0.85rem;
                }
            }
        }

        #about {
            padding: 24px 3% 32px;

            .about-info {
                padding: 16px 12px;

                h3 {
                    font-size: 1.3rem;
                }

                p {
                    font-size: 0.9rem;
                }
            }
        }

        .footer {
            padding: 32px 3% 16px;

            .footer-content {
                gap: 24px;

                .footer-section {
                    h3 {
                        font-size: 1.2rem;
                    }

                    h4 {
                        font-size: 1rem;
                    }
                }
            }
        }
    }


    @media (max-width: 768px) and (orientation: landscape) {
        #home {
            min-height: auto;
            padding: 20px 4%;
        }

        #service {
            min-height: auto;
        }

        #about {
            min-height: auto;
        }
    }

    @media (max-width: 768px) {
        .btn {
            padding: 12px 20px;
            font-size: 0.95rem;
            min-height: 44px;
        }

        .btn-whatsapp {
            padding: 12px 24px;
            font-size: 1rem;

            i {
                font-size: 1.3rem;
            }
        }
    }
}