/* ============================================================
   PEM Card Bullet for Divi
   v1.2.0
   ============================================================ */

.et_pb_pem_card_bullet {
    height: 100% !important;
    min-height: 100%;
    overflow: visible !important;
}

.et_pb_pem_card_bullet .et_pb_module_inner {
    height: 100% !important;
    min-height: 100%;
    overflow: visible;
}

.pem-card-bullet__card {
    --pem-cb-bg-light: var(--pem-white, #ffffff);
    --pem-cb-bg-dark: var(--pem-black, #0a0a0a);
    --pem-cb-text-light: var(--pem-black, #0a0a0a);
    --pem-cb-text-dark: var(--pem-white, #ffffff);
    --pem-cb-muted-light: var(--pem-muted, #636360);
    --pem-cb-muted-dark: rgba(255,255,255,.72);
    --pem-cb-border-light: var(--pem-border, #dadad7);
    --pem-cb-border-dark: rgba(255,255,255,.13);
    --pem-cb-separator-light: var(--pem-border, #dadad7);
    --pem-cb-separator-dark: rgba(255,255,255,.14);
    --pem-cb-bullet-light: var(--pem-border, #dadad7);
    --pem-cb-bullet-dark: var(--pem-accent, #ed7024);

    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding:
        var(--pem-cb-pad-top, 32px)
        var(--pem-cb-pad-right, 32px)
        var(--pem-cb-pad-bottom, 32px)
        var(--pem-cb-pad-left, 32px);

    border-style: solid;
    border-width: var(--pem-cb-border-width, 1px);
    border-radius: var(--pem-cb-radius, 16px);

    font-family: "Manrope", sans-serif;

    transition:
        transform var(--pem-cb-hover-speed, 350ms) cubic-bezier(.22,1,.36,1),
        box-shadow var(--pem-cb-hover-speed, 350ms) cubic-bezier(.22,1,.36,1),
        border-color var(--pem-cb-hover-speed, 350ms) ease;

    transform: translateY(0);
    box-shadow: none;
    overflow: hidden;
}

.pem-card-bullet__card--full-height {
    height: 100% !important;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.pem-card-bullet__card--full-height .pem-card-bullet__footer {
    margin-top: auto;
}

.pem-card-bullet__footer {
    display: block;
}

/* ------------------------------------------------------------
   TEMAS
   ------------------------------------------------------------ */

.pem-card-bullet__card--light {
    color: var(--pem-cb-text-custom, var(--pem-cb-text-light));
    background: var(--pem-cb-bg-custom, var(--pem-cb-bg-light));
    border-color: var(--pem-cb-border-custom, var(--pem-cb-border-light));
}

.pem-card-bullet__card--dark {
    color: var(--pem-cb-text-custom, var(--pem-cb-text-dark));
    background: var(--pem-cb-bg-custom, var(--pem-cb-bg-dark));
    border-color: var(--pem-cb-border-custom, var(--pem-cb-border-dark));
}

/* ------------------------------------------------------------
   TÍTULO
   ------------------------------------------------------------ */

.pem-card-bullet__title {
    margin: 0 0 var(--pem-cb-title-bottom, 24px) !important;
    padding: 0 !important;
    font-family: "Manrope", sans-serif !important;
    font-size: var(--pem-cb-title-size-desktop, 40px) !important;
    line-height: var(--pem-cb-title-line, 1.1em) !important;
    font-weight: var(--pem-cb-title-weight, 600) !important;
    letter-spacing: var(--pem-cb-title-letter, -1px) !important;
    color: var(--pem-cb-title-custom, currentColor) !important;
}

/* ------------------------------------------------------------
   LISTA / ITENS
   ------------------------------------------------------------ */

.pem-card-bullet__items {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pem-card-bullet__item {
    list-style: none !important;
    display: flex;
    align-items: flex-start;
    gap: var(--pem-cb-bullet-gap, 12px);
    margin: 0 !important;
    padding: var(--pem-cb-item-pad-y, 14px) 0 !important;
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-cb-item-size-desktop, 15px);
    line-height: var(--pem-cb-item-line, 1.45em);
    font-weight: var(--pem-cb-item-weight, 400);
    transition: color 250ms ease;
}

.pem-card-bullet__item:first-child {
    padding-top: 0 !important;
}

.pem-card-bullet__item:last-child {
    padding-bottom: 0 !important;
}

.pem-card-bullet__card--separators .pem-card-bullet__item + .pem-card-bullet__item {
    border-top-style: solid;
    border-top-width: var(--pem-cb-separator-width, 1px);
}

.pem-card-bullet__card--light.pem-card-bullet__card--separators .pem-card-bullet__item + .pem-card-bullet__item {
    border-top-color: var(--pem-cb-separator-custom, var(--pem-cb-separator-light));
}

.pem-card-bullet__card--dark.pem-card-bullet__card--separators .pem-card-bullet__item + .pem-card-bullet__item {
    border-top-color: var(--pem-cb-separator-custom, var(--pem-cb-separator-dark));
}

.pem-card-bullet__item-text {
    display: block;
    min-width: 0;
}

.pem-card-bullet__card--light .pem-card-bullet__item-text {
    color: var(--pem-cb-item-custom, var(--pem-cb-muted-light));
}

.pem-card-bullet__card--dark .pem-card-bullet__item-text {
    color: var(--pem-cb-item-custom, rgba(255,255,255,.82));
}

.pem-card-bullet__bullet {
    flex: 0 0 auto;
    width: var(--pem-cb-bullet-size, 5px);
    height: var(--pem-cb-bullet-size, 5px);
    margin-top: calc((var(--pem-cb-item-line, 1.45em) - var(--pem-cb-bullet-size, 5px)) / 2);
    border-radius: 999px;
    transition: transform 250ms cubic-bezier(.22,1,.36,1);
}

.pem-card-bullet__card--light .pem-card-bullet__bullet {
    background: var(--pem-cb-bullet-custom, var(--pem-cb-bullet-light));
}

.pem-card-bullet__card--dark .pem-card-bullet__bullet {
    background: var(--pem-cb-bullet-custom, var(--pem-cb-bullet-dark));
}

/* ------------------------------------------------------------
   TEXTO DE APOIO
   ------------------------------------------------------------ */

.pem-card-bullet__support {
    margin-top: var(--pem-cb-support-top, 22px);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-cb-support-size-desktop, 13px);
    line-height: var(--pem-cb-support-line, 1.55em);
    font-weight: var(--pem-cb-support-weight, 400);
}

.pem-card-bullet__card--light .pem-card-bullet__support {
    color: var(--pem-cb-support-custom, var(--pem-cb-muted-light));
}

.pem-card-bullet__card--dark .pem-card-bullet__support {
    color: var(--pem-cb-support-custom, var(--pem-cb-muted-dark));
}

/* ------------------------------------------------------------
   LINK OPCIONAL
   ------------------------------------------------------------ */

.pem-card-bullet__link {
    display: inline-block;
    margin-top: var(--pem-cb-link-top, 26px);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-cb-link-size, 11px);
    line-height: 1.35;
    font-weight: var(--pem-cb-link-weight, 600);
    letter-spacing: var(--pem-cb-link-letter, 1.6px);
    text-transform: uppercase;
    text-decoration: none !important;
    transition: color 250ms ease, transform 250ms cubic-bezier(.22,1,.36,1);
}

.pem-card-bullet__card--light .pem-card-bullet__link {
    color: var(--pem-cb-link-custom, var(--pem-cb-text-light));
}

.pem-card-bullet__card--dark .pem-card-bullet__link {
    color: var(--pem-cb-link-custom, var(--pem-cb-text-dark));
}

.pem-card-bullet__link:focus-visible {
    outline: 2px solid var(--pem-accent, #ed7024);
    outline-offset: 4px;
}

/* ------------------------------------------------------------
   HOVER — linguagem PEM
   ------------------------------------------------------------ */

@media (hover: hover) and (pointer: fine) {
    .pem-card-bullet__card--hover-lift:hover {
        transform: translateY(var(--pem-cb-hover-lift, -6px));
    }

    .pem-card-bullet__card--hover-shadow:hover {
        box-shadow:
            0 20px 44px rgba(10,10,10,.14),
            0 7px 18px rgba(10,10,10,.08);
    }

    .pem-card-bullet__item:hover .pem-card-bullet__bullet {
        transform: translateX(3px);
    }

    .pem-card-bullet__link:hover {
        transform: translateX(3px);
    }

    .pem-card-bullet__link--accent-hover:hover {
        color: var(--pem-accent, #ed7024) !important;
    }
}

/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 980px) {
    .pem-card-bullet__title {
        font-size: var(--pem-cb-title-size-tablet, 34px) !important;
    }

    .pem-card-bullet__item {
        font-size: var(--pem-cb-item-size-tablet, 15px);
    }

    .pem-card-bullet__support {
        font-size: var(--pem-cb-support-size-tablet, 13px);
    }
}

/* ------------------------------------------------------------
   CELULAR — breakpoint estrutural PEM
   ------------------------------------------------------------ */

@media (max-width: 640px) {
    .pem-card-bullet__title {
        font-size: var(--pem-cb-title-size-phone, 30px) !important;
    }

    .pem-card-bullet__item {
        font-size: var(--pem-cb-item-size-phone, 15px);
    }

    .pem-card-bullet__support {
        font-size: var(--pem-cb-support-size-phone, 13px);
    }
}

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


/* Preview: mantém o card selecionável e desativa apenas os movimentos. */
.pem-card-bullet__card--builder,
.pem-card-bullet__card--builder:hover {
    transform: none !important;
    transition: none !important;
}
.pem-card-bullet__card--builder .pem-card-bullet__bullet,
.pem-card-bullet__card--builder .pem-card-bullet__link {
    transition: none !important;
    transform: none !important;
}
