@import './theme.css';

#services {
    padding: 100px 0;
    background: var(--background-color);
    color: var(--paragraph-color);
    min-height: 400px;
}

#services .container {
    max-width: 1200px;
    margin: 0 auto;
}

#services .section-title h2 {
    color: var(--primary-text);
    position: relative;
    margin-bottom: 40px;
}

#services .section-title h2::after {
    position: absolute;
    content: "";
    background: rgba(255, 255, 255, 0.3);
    height: 4px;
    width: 60px;
    bottom: -10px;
    margin-left: -30px;
    left: 50%;
}

#services .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#services .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    display: flex;
    justify-content: center;
}

#services .card {
    background: var(--white-background);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin: 15px;
    transition: transform 0.75s var(--ease-reveal), opacity 0.75s var(--ease-reveal);
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    opacity: 0; /* invisível antes */
}

/* Quando entra na tela */
#services .card.visible {
    opacity: 1;
}

/* Ícone */
#services i.fa {
    font-size: 42px;
    width: 80px;
    height: 80px;
    padding: 20px 0;
    color: var(--primary-color);
    margin-bottom: 15px;
}

#services h3 {
    font-weight: 900;
    padding: 5px 0;
    color: var(--paragraph-color);
    font-size: 20px;
}

#services p {
    color: var(--paragraph-color);
    font-size: 15px;
    line-height: 1.5;
}

#services .service-desc {
    margin-bottom: 20px;
}

/* Card largo (line4) — mesmo sistema de cores dos cards pequenos (tema claro/escuro) */
#services .card.card-wide {
    background: var(--white-background);
    border-radius: 10px;
    padding: 40px;
    margin: 15px;
    box-shadow: var(--shadow-sm);
    border: var(--border-hairline);
    min-height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#services .card-wide i.fa {
    font-size: 40px;
    width: auto;
    height: auto;
    padding: 0;
    margin-bottom: 20px;
    color: var(--primary-color);
}

#services .card-wide .service-desc h3 {
    font-weight: 700;
    margin-bottom: 15px;
}

#services .card-wide .service-desc p {
    max-width: 800px;
    margin: 0 auto;
}

/* RESPONSIVO */
@media (max-width: 768px) {
    #services .col-md-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    #services .card {
        margin: 10px 0;
    }
    #services .row {
        flex-direction: column;
        align-items: center;
    }
}

/* ===================== */
/* Animações             */
/* ===================== */

/* Esquerda → entra deslizando */
.card.slide-left {
    transform: translate3d(-40px, 0, 0);
}
.card.slide-left.visible {
    transform: translate3d(0, 0, 0);
}

/* Direita → entra deslizando */
.card.slide-right {
    transform: translate3d(40px, 0, 0);
}
.card.slide-right.visible {
    transform: translate3d(0, 0, 0);
}

/* Meio (de baixo pra cima) */
.card.slide-up {
    transform: translate3d(0, 48px, 0);
}
.card.slide-up.visible {
    transform: translate3d(0, 0, 0);
}
