/* ==========================================================================
   Solucoes Diferenciais — Differentials section
   ========================================================================== */

.srv-diferenciais {
    padding: 80px 0 0;
    background: #F8F9FC;
}

/* Header — two columns */
.srv-diferenciais__header {
    display: flex;
    gap: 80px;
    align-items: flex-start;
    margin-bottom: 48px;
}

.srv-diferenciais__header-left {
    flex: 1;
}

.srv-diferenciais__header-right {
    flex: 1;
    padding-top: 48px;
}

.srv-diferenciais__header-right p {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: #64748B;
}

/* Label with line */
.srv-diferenciais__label {
    font-family: var(--font-text);
    font-size: 18px;
    font-weight: 400;
    color: var(--color-dark);
    line-height: 1.7;
    letter-spacing: -0.18px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.srv-diferenciais__line {
    display: inline-block;
    width: 71px;
    height: 0;
    border-top: 1.5px solid var(--color-primary);
    flex-shrink: 0;
}

/* Title */
.srv-diferenciais__title {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 600;
    color: var(--color-dark);
    line-height: 1.2;
}

/* Features card */
.srv-diferenciais__card {
    background: var(--color-white);
    border-radius: 24px;
    padding: 56px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 32px;
    position: relative;
    z-index: 1;
    /* Overflow do card pra metade dele entrar na seção seguinte (#eff4ff). */
    margin-bottom: var(--diferenciais-card-overflow, -180px);
}

/* Compensa o overflow do card sobre a seção seguinte */
.srv-diferenciais + .srv-nrs,
.srv-diferenciais + .srv-outros {
    padding-top: calc(96px + var(--diferenciais-card-overflow-abs, 180px));
}

/* Feature item */
.srv-diferenciais__icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #F0F4FF;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3B82F6;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 600;
}

.srv-diferenciais__feature-title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    color: var(--color-dark);
    margin-top: 24px;
}

.srv-diferenciais__feature-desc {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    color: #64748B;
    margin-top: 12px;
}

/* Responsive — Tablet / Mobile */
@media (max-width: 768px) {
    .srv-diferenciais {
        padding: 56px 0;
    }

    .srv-diferenciais__header {
        flex-direction: column;
        gap: 24px;
    }

    .srv-diferenciais__header-right {
        padding-top: 0;
    }

    .srv-diferenciais__title {
        font-size: 32px;
    }

    .srv-diferenciais__card {
        grid-template-columns: 1fr;
        padding: 32px;
        gap: 40px;
    }
}
