/* Estilos gerais para a seção */
.services-section {
    padding: 60px 20px;
    background-color: var(--bg-white);
    color: var(--service-card-text-primary);
}

.section-tag {
    background-color: var(--section-tag-bg);
    margin: 0 auto 20px auto;
    /* Mantém a centralização da tag no mobile */
    padding: 18px 28px;
    border-radius: 30px;
    width: fit-content;
    color: var(--primary-purple);
}

/* Novo: Título e subtítulo da seção para contextualizar */
.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-header h2 {
    font-size: 2.8em;
    color: var(--service-card-h3-color);
    margin-bottom: 15px;
    font-weight: 700;
}

.section-header p {
    font-size: 1.2em;
    color: var(--service-card-p-color);
    max-width: 800px;
    margin: 0 auto;
}

/* Container principal da grade */
.services-grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 480px);
    /* Mantém a altura fixa para desktop */
    grid-column-gap: 0px;
    grid-row-gap: 30px;
    width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Definir as áreas da grid para cada cartão para criar o empilhamento (desktop) */
.services-grid-container .service-card:nth-child(1) {
    grid-area: 1 / 1 / 2 / 3;
}

.services-grid-container .service-card:nth-child(2) {
    grid-area: 2 / 1 / 3 / 3;
}

.services-grid-container .service-card:nth-child(3) {
    grid-area: 3 / 1 / 4 / 3;
}


/* Estilo para cada cartão de serviço - PADRÃO (DESKTOP) */
.service-card {
    background: linear-gradient(to right, var(--service-card-gradient-light), var(--bg-white));
    border-radius: var(--border-radius);
    border: none;
    padding: 35px;
    display: flex;
    align-items: center;
    /* Alinha verticalmente os itens no centro */
    gap: 30px;
    /* Espaçamento entre gráfico e texto */
    width: 100%;
    height: 100%;
    /* Ocupa a altura da linha da grid */
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease;

    /* Reset de ordens para desktop, se houver */
    .service-graphic-placeholder {
        order: 0;
    }

    .service-text-content {
        order: 0;
    }
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

/* Gradiente para .graphic-left (desktop) */
.service-card.graphic-left {
    background: linear-gradient(to left, var(--service-card-gradient-light), var(--bg-white));
}

/* Estilo para o conteúdo de texto (desktop) */
.service-text-content {
    flex-grow: 1;
    text-align: left;
    /* Padrão: texto alinhado à esquerda */
    max-width: 450px;
    color: var(--service-card-text-primary);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* Espaça o conteúdo e o botão */
    height: 100%;
    /* Ocupa 100% da altura disponível para just-content funcionar */
    align-items: flex-start;
    /* Alinha os itens flex (texto e botão) à esquerda */
}

/* Alinha o texto e o botão à direita apenas para o cartão com a classe .graphic-left (desktop) */
.service-card.graphic-left .service-text-content {
    text-align: right;
    align-items: flex-end;
}

/* Estilo para o título (heading) */
.service-text-content h3 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 2.1em;
    color: var(--service-card-h3-color);
    font-weight: 600;
}

/* Estilo para o destaque do título (negrito) */
.heading-highlight {
    font-weight: 700;
}

/* Estilo para a descrição */
.service-text-content p {
    font-size: 1.1em;
    line-height: 1.6;
    color: var(--service-card-p-color);
    margin-bottom: 20px;
}

/* Estilo para o botão "Saiba Mais" */
.service-button {
    display: inline-block;
    color: var(--primary-purple);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95em;
    transition: transform 0.2s ease;
    border: none;
    cursor: pointer;
}

.service-button:hover {
    transform: translateY(-2px);
}

/* Estilo para o placeholder gráfico (o contêiner da imagem grande) - DESKTOP */
.service-graphic-placeholder {
    flex-shrink: 0;
    width: 650px;
    height: 100%;
    display: flex;
    /* Mantido como flex para centralizar a imagem dentro, se necessário */
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 8px;
}

/* Estilo para as imagens dos ícones dentro do placeholder */
.graphic-icon {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsividade: Adaptação para telas menores (largura máxima de 1200px) */
@media (max-width: 1200px) {

    .services-grid-container {
        width: 100%;
        grid-template-columns: 1fr;
        /* Uma única coluna */
        grid-template-rows: auto;
        /* Altura se ajusta ao conteúdo */
        gap: 20px;
    }

    /* Resetamos as propriedades de grid-area para que os itens fluam naturalmente em uma única coluna */
    .services-grid-container .service-card:nth-child(1),
    .services-grid-container .service-card:nth-child(2),
    .services-grid-container .service-card:nth-child(3) {
        grid-area: auto;
    }

    /* Estilo para cada cartão de serviço - RESPONSIVO */
    .service-card {
        width: auto;
        height: auto;
        border: none;
        box-shadow: none;
        flex-direction: column;
        /* IMAGEM ACIMA DO TEXTO */
        background: linear-gradient(to top, var(--service-card-gradient-light), var(--bg-white));
        text-align: center;
        /* Centraliza o texto dentro do card */
        padding: 30px;
        gap: 20px;

        /* Espaço entre imagem e texto no mobile */
        /* Garante que a imagem sempre venha primeiro no layout vertical */
        .service-graphic-placeholder {
            order: -1;
        }

        .service-text-content {
            order: 1;
        }
    }

    .service-card.graphic-left {
        background: linear-gradient(to top, var(--service-card-gradient-light), var(--bg-white));
    }

    /* Garante que o texto e o botão de todos os cards fiquem centralizados no mobile */
    .service-text-content {
        text-align: center;
        align-items: center;
        /* Centraliza os itens flex (tag, h3, p, button) */
        max-width: 100%;
        /* Ocupa toda a largura disponível */
        height: auto;
        /* Altura se ajusta ao conteúdo */
        justify-content: flex-start;
        /* Remove justify-content: space-between para mobile */
    }

    /* Estilo para o placeholder gráfico - RESPONSIVO */
    .service-graphic-placeholder {
        width: 100%;
        /* Ocupa a largura total do card */
        height: 250px;
        /* Altura fixa para a imagem no mobile */
        margin-top: 0;
        /* Remove margem superior se houver */
    }

    /* Ajustes de fonte e espaçamento para mobile */
    .section-header h2 {
        font-size: 2em;
    }

    .section-header p {
        font-size: 1em;
    }

    .service-text-content h3 {
        font-size: 1.8em;
    }

    .service-text-content p {
        font-size: 0.95em;
        margin-bottom: 15px;
    }

    .service-button {
        padding: 10px 20px;
        font-size: 0.9em;
    }
}