/* ============================================================
   PEM — Card de Etapa
   ============================================================ */

.et_pb_pem_step_card {
    height: auto;
}

.pem-step-card {
    box-sizing: border-box;
    width: 100%;
    background: var(--pemstep-bg, transparent);
    border-top: var(--pemstep-line-width, 1px) solid var(--pemstep-line-color, #DADAD7);
    border-radius: var(--pemstep-radius, 0px);
    padding: var(--pemstep-pt, 38px) var(--pemstep-pr, 0px) var(--pemstep-pb, 0px) var(--pemstep-pl, 0px);
    font-family: "Manrope", sans-serif;
    transition:
        transform var(--pemstep-hover-speed, 300ms) cubic-bezier(.22,1,.36,1),
        box-shadow var(--pemstep-hover-speed, 300ms) cubic-bezier(.22,1,.36,1),
        border-color var(--pemstep-hover-speed, 300ms) ease;
}

.pem-step-card__number {
    margin: 0 0 var(--pemstep-number-mb, 26px);
    color: var(--pemstep-number-color, var(--pem-accent, #ED7024));
    font-size: var(--pemstep-number-size, 15px);
    font-weight: var(--pemstep-number-weight, 600);
    line-height: var(--pemstep-number-lh, 1.4em);
    letter-spacing: var(--pemstep-number-tracking, 2.4px);
}

.pem-step-card__title {
    margin: 0 0 var(--pemstep-title-mb, 20px) !important;
    padding: 0 !important;
    color: var(--pemstep-title-color, #0A0A0A) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: var(--pemstep-title-size-d, 28px) !important;
    font-weight: var(--pemstep-title-weight, 600) !important;
    line-height: var(--pemstep-title-lh, 1.25em) !important;
    letter-spacing: var(--pemstep-title-tracking, -0.5px) !important;
}

.pem-step-card__description,
.pem-step-card__description p {
    margin-top: 0 !important;
    color: var(--pemstep-desc-color, #636360) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: var(--pemstep-desc-size-d, 18px) !important;
    font-weight: var(--pemstep-desc-weight, 400) !important;
    line-height: var(--pemstep-desc-lh, 1.55em) !important;
    letter-spacing: var(--pemstep-desc-tracking, 0px) !important;
}

.pem-step-card__description p:last-child {
    margin-bottom: 0 !important;
}

@media (hover:hover) and (pointer:fine) {
    .pem-step-card--hover:hover {
        transform: translateY(calc(var(--pemstep-hover-lift, 4px) * -1));
    }

    .pem-step-card--hover.pem-step-card--shadow:hover {
        box-shadow: 0 16px 34px rgba(10,10,10,.10), 0 6px 14px rgba(10,10,10,.06);
    }

    .pem-step-card--hover.pem-step-card--accent-line:hover {
        border-top-color: var(--pem-accent, #ED7024);
    }
}

@media (max-width: 980px) {
    .pem-step-card__title {
        font-size: var(--pemstep-title-size-t, 25px) !important;
    }

    .pem-step-card__description,
    .pem-step-card__description p {
        font-size: var(--pemstep-desc-size-t, 17px) !important;
    }
}

@media (max-width: 767px) {
    .pem-step-card__title {
        font-size: var(--pemstep-title-size-m, 24px) !important;
    }

    .pem-step-card__description,
    .pem-step-card__description p {
        font-size: var(--pemstep-desc-size-m, 17px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pem-step-card {
        transition: none !important;
        transform: none !important;
    }
}

/* ============================================================
   Visual Builder / Theme Builder
   ============================================================ */
.pem-step-card__description {
    white-space: pre-line;
}

body.et-fb .pem-step-card--builder,
.et-fb .pem-step-card--builder {
    transform: none !important;
}
