/* ============================================================
   PEM — CAIXA DE ALTERNÂNCIA
   ============================================================ */

.et_pb_pem_caixa_alternancia,
.et_pb_pem_caixa_alternancia .et_pb_module_inner {
    width: 100%;
}

.pem-caixa-alternancia__box {
    width: 100%;
    background: var(--pem-ca-bg, #0A0A0A);
    font-family: "Manrope", sans-serif;
    box-sizing: border-box;
}

.pem-caixa-alternancia__row {
    display: grid;
    grid-template-columns:
        var(--pem-ca-number-col, 170px)
        var(--pem-ca-title-col, 360px)
        minmax(0, 1fr);
    gap: var(--pem-ca-gap, 48px);
    align-items: center;
    width: 100%;
    padding-top: var(--pem-ca-row-pad-desktop, 34px);
    padding-bottom: var(--pem-ca-row-pad-desktop, 34px);
    box-sizing: border-box;
}

.pem-caixa-alternancia__box--separators {
    border-top: var(--pem-ca-separator-width, 1px) solid var(--pem-ca-separator-color, rgba(255,255,255,.16));
    border-bottom: var(--pem-ca-separator-width, 1px) solid var(--pem-ca-separator-color, rgba(255,255,255,.16));
}

.pem-caixa-alternancia__box--separators .pem-caixa-alternancia__row:not(:last-child) {
    border-bottom: var(--pem-ca-separator-width, 1px) solid var(--pem-ca-separator-color, rgba(255,255,255,.16));
}

.pem-caixa-alternancia__marker {
    display: flex;
    align-items: center;
    min-width: 0;
}

.pem-caixa-alternancia__number {
    flex: 0 0 auto;
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-ca-number-size-desktop, 13px);
    line-height: 1;
    font-weight: var(--pem-ca-number-weight, 600);
    letter-spacing: var(--pem-ca-number-letter, 3px);
    color: var(--pem-ca-number-color, var(--pem-ca-accent, #ED7024));
    transition: color var(--pem-ca-hover-speed, 300ms) ease;
}

.pem-caixa-alternancia__accent-line {
    display: block;
    flex: 0 0 auto;
    width: var(--pem-ca-line-width, 66px);
    height: var(--pem-ca-line-thickness, 1px);
    margin-left: var(--pem-ca-line-gap, 18px);
    background: var(--pem-ca-line-color, var(--pem-ca-accent, #ED7024));
    opacity: var(--pem-ca-line-opacity, 35%);
    transform-origin: left center;
    transition:
        width var(--pem-ca-hover-speed, 300ms) cubic-bezier(.22,1,.36,1),
        opacity var(--pem-ca-hover-speed, 300ms) ease;
}

.pem-caixa-alternancia__title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Manrope", sans-serif !important;
    font-size: var(--pem-ca-title-size-desktop, 28px) !important;
    line-height: var(--pem-ca-title-line, 1.2em) !important;
    font-weight: var(--pem-ca-title-weight, 600) !important;
    letter-spacing: var(--pem-ca-title-letter, -0.4px) !important;
    color: var(--pem-ca-title-color, #FFFFFF) !important;
    transition:
        transform var(--pem-ca-hover-speed, 300ms) cubic-bezier(.22,1,.36,1),
        color var(--pem-ca-hover-speed, 300ms) ease;
}

.pem-caixa-alternancia__description {
    max-width: var(--pem-ca-description-max, 760px);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-ca-description-size-desktop, 18px);
    line-height: var(--pem-ca-description-line, 1.55em);
    font-weight: var(--pem-ca-description-weight, 400);
    letter-spacing: var(--pem-ca-description-letter, 0px);
    color: var(--pem-ca-description-color, #DADAD7);
    transition: color var(--pem-ca-hover-speed, 300ms) ease;
}

.pem-caixa-alternancia__box--alternate .pem-caixa-alternancia__row:nth-child(even) {
    padding-left: var(--pem-ca-alternate-indent, 8%);
}

@media (hover: hover) and (pointer: fine) {
    .pem-caixa-alternancia__box--hover .pem-caixa-alternancia__row:hover .pem-caixa-alternancia__accent-line {
        width: calc(var(--pem-ca-line-width, 66px) + var(--pem-ca-hover-line-growth, 12px));
        opacity: 1;
    }

    .pem-caixa-alternancia__box--hover .pem-caixa-alternancia__row:hover .pem-caixa-alternancia__title {
        transform: translateX(var(--pem-ca-hover-title-shift, 4px));
    }

    .pem-caixa-alternancia__box--hover .pem-caixa-alternancia__row:hover .pem-caixa-alternancia__description {
        color: #FFFFFF;
    }
}

@media (max-width: 980px) {
    .pem-caixa-alternancia__row {
        grid-template-columns: 120px minmax(180px, .8fr) minmax(0, 1.2fr);
        gap: min(var(--pem-ca-gap, 48px), 32px);
        padding-top: var(--pem-ca-row-pad-tablet, 30px);
        padding-bottom: var(--pem-ca-row-pad-tablet, 30px);
    }

    .pem-caixa-alternancia__number {
        font-size: var(--pem-ca-number-size-tablet, 12px);
    }

    .pem-caixa-alternancia__accent-line {
        width: min(var(--pem-ca-line-width, 66px), 48px);
    }

    .pem-caixa-alternancia__title {
        font-size: var(--pem-ca-title-size-tablet, 24px) !important;
    }

    .pem-caixa-alternancia__description {
        font-size: var(--pem-ca-description-size-tablet, 17px);
    }
}

@media (max-width: 767px) {
    .pem-caixa-alternancia__row,
    .pem-caixa-alternancia__box--alternate .pem-caixa-alternancia__row:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 10px;
        padding-left: 0;
        padding-top: var(--pem-ca-row-pad-phone, 26px);
        padding-bottom: var(--pem-ca-row-pad-phone, 26px);
    }

    .pem-caixa-alternancia__marker {
        margin-bottom: 4px;
    }

    .pem-caixa-alternancia__number {
        font-size: var(--pem-ca-number-size-phone, 12px);
    }

    .pem-caixa-alternancia__accent-line {
        width: min(var(--pem-ca-line-width, 66px), 48px);
    }

    .pem-caixa-alternancia__title {
        font-size: var(--pem-ca-title-size-phone, 22px) !important;
    }

    .pem-caixa-alternancia__description {
        max-width: 100%;
        font-size: var(--pem-ca-description-size-phone, 16px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pem-caixa-alternancia__accent-line,
    .pem-caixa-alternancia__title,
    .pem-caixa-alternancia__description {
        transition: none !important;
        transform: none !important;
    }
}
