/* ============================================================
   PEM — Livro em Destaque for Divi
   v1.2.0
   ============================================================ */

.et_pb_pem_featured_book {
    overflow: visible !important;
}

.et_pb_pem_featured_book .et_pb_module_inner {
    overflow: visible !important;
}

.pem-featured-book__card {
    --pem-fb-accent: var(--pem-accent, #ED7024);
    --pem-fb-accent-soft: color-mix(in srgb, var(--pem-fb-accent) 12%, white);

    box-sizing: border-box;
    display: grid;
    align-items: stretch;
    width: 100%;
    gap: var(--pem-fb-gap, 48px);
    padding:
        var(--pem-fb-pad-top, 32px)
        var(--pem-fb-pad-right, 32px)
        var(--pem-fb-pad-bottom, 32px)
        var(--pem-fb-pad-left, 32px);

    border: var(--pem-fb-border-width, 1px) solid var(--pem-fb-border, #DADAD7);
    border-radius: var(--pem-fb-radius, 16px);
    background: var(--pem-fb-card-bg, #FFFFFF);
    color: var(--pem-black, #0A0A0A);
    font-family: "Manrope", sans-serif;

    transform: translateY(0);
    transition:
        transform var(--pem-fb-speed, 420ms) cubic-bezier(.22, 1, .36, 1),
        box-shadow var(--pem-fb-speed, 420ms) cubic-bezier(.22, 1, .36, 1),
        border-color var(--pem-fb-speed, 420ms) ease;
    overflow: visible;
}

/* ------------------------------------------------------------
   GRID RATIOS
   ------------------------------------------------------------ */

.pem-featured-book__card--ratio-35-65 { grid-template-columns: minmax(0, .70fr) minmax(0, 1.30fr); }
.pem-featured-book__card--ratio-40-60 { grid-template-columns: minmax(0, .80fr) minmax(0, 1.20fr); }
.pem-featured-book__card--ratio-42-58 { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.pem-featured-book__card--ratio-45-55 { grid-template-columns: minmax(0, .90fr) minmax(0, 1.10fr); }
.pem-featured-book__card--ratio-50-50 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

/* ------------------------------------------------------------
   CARD SHADOW
   ------------------------------------------------------------ */

.pem-featured-book__card--static-shadow {
    /* Fallback: preserva a cor escolhida mesmo sem color-mix. */
    box-shadow:
        0
        var(--pem-fb-static-shadow-y, 18px)
        var(--pem-fb-static-shadow-blur, 42px)
        var(--pem-fb-static-shadow-spread, -24px)
        var(--pem-fb-static-shadow-color, #0A0A0A);
}

@supports (color: color-mix(in srgb, black 20%, transparent)) {
    .pem-featured-book__card--static-shadow {
        box-shadow:
            0
            var(--pem-fb-static-shadow-y, 18px)
            var(--pem-fb-static-shadow-blur, 42px)
            var(--pem-fb-static-shadow-spread, -24px)
            color-mix(
                in srgb,
                var(--pem-fb-static-shadow-color, #0A0A0A)
                var(--pem-fb-static-shadow-intensity, 16%),
                transparent
            );
    }
}

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

    .pem-featured-book__card--hover-shadow:hover {
        /* Fallback para navegadores sem color-mix. */
        box-shadow:
            0
            var(--pem-fb-hover-shadow-y, 28px)
            var(--pem-fb-hover-shadow-blur, 60px)
            var(--pem-fb-hover-shadow-spread, -28px)
            var(--pem-fb-hover-shadow-color, #0A0A0A);
    }

    @supports (color: color-mix(in srgb, black 20%, transparent)) {
        .pem-featured-book__card--hover-shadow:hover {
            box-shadow:
                0
                var(--pem-fb-hover-shadow-y, 28px)
                var(--pem-fb-hover-shadow-blur, 60px)
                var(--pem-fb-hover-shadow-spread, -28px)
                color-mix(
                    in srgb,
                    var(--pem-fb-hover-shadow-color, #0A0A0A)
                    var(--pem-fb-hover-shadow-intensity, 22%),
                    transparent
                );
        }
    }
}

/* ------------------------------------------------------------
   CAPA
   ------------------------------------------------------------ */

.pem-featured-book__cover-stage {
    min-width: 0;
    display: flex;
    align-items: center;
    perspective: 1500px;
    overflow: visible;
}

.pem-featured-book__card--cover-left .pem-featured-book__cover-stage { justify-content: flex-start; }
.pem-featured-book__card--cover-center .pem-featured-book__cover-stage { justify-content: center; }
.pem-featured-book__card--cover-right .pem-featured-book__cover-stage { justify-content: flex-end; }

.pem-featured-book__cover-wrap {
    --pem-fb-cover-rx: 0deg;
    --pem-fb-cover-ry: 0deg;
    --pem-fb-cover-scale: 1;
    --pem-fb-glare-x: 50%;
    --pem-fb-glare-y: 50%;
    --pem-fb-glare-opacity: 0;
    --pem-fb-cover-shadow-x: 0px;
    --pem-fb-cover-shadow-y: 20px;

    position: relative;
    display: block;
    width: 100%;
    max-width: var(--pem-fb-cover-max, 460px);
    border-radius: var(--pem-fb-cover-radius, 12px);
    transform-style: preserve-3d;
    transform:
        perspective(1200px)
        rotateX(var(--pem-fb-cover-rx))
        rotateY(var(--pem-fb-cover-ry))
        scale(var(--pem-fb-cover-scale));
    transform-origin: center center;
    transition:
        transform var(--pem-fb-speed, 420ms) cubic-bezier(.22, 1, .36, 1),
        box-shadow var(--pem-fb-speed, 420ms) cubic-bezier(.22, 1, .36, 1);
    will-change: transform, box-shadow;
    overflow: hidden;
}

.pem-featured-book__card--cover-shadow .pem-featured-book__cover-wrap {
    box-shadow:
        var(--pem-fb-cover-shadow-x)
        var(--pem-fb-cover-shadow-y)
        44px
        rgba(10, 10, 10, .18),
        0 8px 18px rgba(10, 10, 10, .09);
}

.pem-featured-book__cover {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}

.pem-featured-book__card--cover-glare .pem-featured-book__cover-wrap::after {
    content: "";
    position: absolute;
    inset: -18%;
    z-index: 2;
    pointer-events: none;
    opacity: var(--pem-fb-glare-opacity);
    background:
        radial-gradient(
            circle at var(--pem-fb-glare-x) var(--pem-fb-glare-y),
            rgba(255,255,255,.46) 0%,
            rgba(255,255,255,.22) 14%,
            rgba(255,255,255,.08) 29%,
            rgba(255,255,255,0) 54%
        );
    mix-blend-mode: screen;
    transition: opacity 280ms ease;
}

.pem-featured-book__cover-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    max-width: var(--pem-fb-cover-max, 460px);
    aspect-ratio: 2 / 3;
    border: 1px dashed var(--pem-border, #DADAD7);
    border-radius: var(--pem-fb-cover-radius, 12px);
    background: var(--pem-gray, #F3F3F1);
    color: var(--pem-muted, #636360);
    font: 500 13px/1.4 "Manrope", sans-serif;
    text-align: center;
    padding: 24px;
}

/* ------------------------------------------------------------
   CONTEÚDO
   ------------------------------------------------------------ */

.pem-featured-book__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.pem-featured-book__card--content-start .pem-featured-book__content { justify-content: flex-start; }
.pem-featured-book__card--content-center .pem-featured-book__content { justify-content: center; }
.pem-featured-book__card--content-end .pem-featured-book__content { justify-content: flex-end; }

/* ------------------------------------------------------------
   SELO
   ------------------------------------------------------------ */

.pem-featured-book__badge {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin: 0 0 var(--pem-fb-badge-bottom, 20px) 0;
    padding: var(--pem-fb-badge-pad-y, 6px) var(--pem-fb-badge-pad-x, 12px);
    border-radius: var(--pem-fb-badge-radius, 999px);
    background: var(--pem-fb-accent-soft, rgba(237,112,36,.12));
    color: var(--pem-fb-accent, #ED7024);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-fb-badge-size, 10px);
    line-height: 1.25;
    font-weight: var(--pem-fb-badge-weight, 600);
    letter-spacing: var(--pem-fb-badge-letter, 1.5px);
    text-transform: uppercase;
    white-space: nowrap;
}

/* Fallback para navegadores sem color-mix */
@supports not (background: color-mix(in srgb, red 10%, white)) {
    .pem-featured-book__badge {
        background: rgba(237,112,36,.12);
    }
}

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

.pem-featured-book__title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--pem-fb-title-color, #0A0A0A) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: var(--pem-fb-title-size-d, 44px) !important;
    line-height: var(--pem-fb-title-line, 1.1em) !important;
    font-weight: var(--pem-fb-title-weight, 600) !important;
    letter-spacing: var(--pem-fb-title-letter, -0.9px) !important;
}

.pem-featured-book__author {
    margin-top: var(--pem-fb-author-top, 10px);
    color: var(--pem-fb-author-color, #636360);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-fb-author-size, 14px);
    line-height: 1.45;
    font-weight: 400;
}

/* ------------------------------------------------------------
   SINOPSE
   ------------------------------------------------------------ */

.pem-featured-book__summary {
    width: 100%;
    max-width: var(--pem-fb-summary-max, 620px);
    margin-top: var(--pem-fb-summary-top, 28px);
    color: var(--pem-fb-summary-color, #636360);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-fb-summary-size-d, 19px);
    line-height: var(--pem-fb-summary-line, 1.65em);
    font-weight: 400;
}

/* ------------------------------------------------------------
   METADADOS
   ------------------------------------------------------------ */

.pem-featured-book__details {
    display: grid;
    gap: var(--pem-fb-detail-row-gap, 14px);
    margin: var(--pem-fb-details-top, 26px) 0 0 0 !important;
    padding: var(--pem-fb-details-pad-top, 20px) 0 0 0 !important;
    border-top: 1px solid var(--pem-fb-details-border, #DADAD7);
}

.pem-featured-book__detail-row {
    display: grid;
    grid-template-columns: var(--pem-fb-detail-label-width, 96px) minmax(0, 1fr);
    gap: 14px;
    align-items: baseline;
}

.pem-featured-book__detail-row dt,
.pem-featured-book__detail-row dd {
    margin: 0 !important;
    padding: 0 !important;
}

.pem-featured-book__detail-row dt {
    color: var(--pem-fb-detail-label-color, #636360);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-fb-detail-label-size, 10px);
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: var(--pem-fb-detail-label-letter, 1.7px);
    text-transform: uppercase;
}

.pem-featured-book__detail-row dd {
    color: var(--pem-fb-detail-value-color, #0A0A0A);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-fb-detail-value-size, 14px);
    line-height: 1.5;
    font-weight: 400;
}

/* ------------------------------------------------------------
   BOTÃO
   ------------------------------------------------------------ */

.pem-featured-book__button {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--pem-fb-button-height, 48px);
    margin-top: var(--pem-fb-button-top, 28px);
    padding: 0 var(--pem-fb-button-pad-x, 28px);
    border: 0;
    border-radius: var(--pem-fb-button-radius, 999px);
    background: var(--pem-fb-button-bg, #0A0A0A);
    color: var(--pem-fb-button-color, #FFFFFF) !important;
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-fb-button-size, 11px);
    line-height: 1.35;
    font-weight: var(--pem-fb-button-weight, 600);
    letter-spacing: var(--pem-fb-button-letter, 2.4px);
    text-transform: uppercase;
    text-decoration: none !important;
    transform: translateY(0);
    transition:
        transform 240ms cubic-bezier(.22, 1, .36, 1),
        box-shadow 240ms cubic-bezier(.22, 1, .36, 1),
        background-color 240ms ease,
        color 240ms ease;
    will-change: transform, box-shadow;
}

.pem-featured-book__button:focus-visible {
    outline: 2px solid var(--pem-fb-accent, #ED7024);
    outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
    .pem-featured-book__button:hover {
        transform: translateY(var(--pem-fb-button-lift, -6px));
    }

    .pem-featured-book__card--button-shadow .pem-featured-book__button:hover {
        box-shadow:
            0 14px 28px rgba(10,10,10,.14),
            0 5px 12px rgba(10,10,10,.09);
    }

    .pem-featured-book__card--button-accent-hover .pem-featured-book__button:hover {
        background: var(--pem-fb-accent, #ED7024);
    }

    .pem-featured-book__card:not(.pem-featured-book__card--button-accent-hover) .pem-featured-book__button:hover {
        background: var(--pem-fb-button-hover-custom, var(--pem-fb-button-bg, #0A0A0A));
    }

    .pem-featured-book__button:active {
        transform: translateY(-1px);
    }
}

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

@media (max-width: 980px) {
    .pem-featured-book__card--stack-tablet {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .pem-featured-book__card--stack-tablet .pem-featured-book__cover-stage {
        justify-content: center;
    }

    .pem-featured-book__title {
        font-size: var(--pem-fb-title-size-t, 36px) !important;
    }

    .pem-featured-book__summary {
        font-size: var(--pem-fb-summary-size-t, 17px);
    }
}

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

@media (max-width: 640px) {
    .pem-featured-book__card--stack-phone {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .pem-featured-book__card {
        gap: min(var(--pem-fb-gap, 48px), 32px);
    }

    .pem-featured-book__cover-stage {
        justify-content: center !important;
    }

    .pem-featured-book__title {
        font-size: var(--pem-fb-title-size-p, 30px) !important;
    }

    .pem-featured-book__summary {
        font-size: var(--pem-fb-summary-size-p, 17px);
    }

    .pem-featured-book__detail-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .pem-featured-book__badge {
        white-space: normal;
    }
}

/* ------------------------------------------------------------
   VISUAL BUILDER + ACESSIBILIDADE
   ------------------------------------------------------------ */

body.et-fb .pem-featured-book__cover-wrap {
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .pem-featured-book__card,
    .pem-featured-book__cover-wrap,
    .pem-featured-book__button {
        transform: none !important;
        transition: none !important;
    }

    .pem-featured-book__cover-wrap::after {
        display: none !important;
    }
}


/* ------------------------------------------------------------
   BUILDER — preview estável, sem hover/tilt
   ------------------------------------------------------------ */
.pem-featured-book__card--builder,
.pem-featured-book__card--builder:hover {
    transform: none !important;
}

.pem-featured-book__card--builder .pem-featured-book__cover-wrap,
.pem-featured-book__card--builder .pem-featured-book__cover-wrap:hover {
    transform: none !important;
}

.pem-featured-book__card--builder .pem-featured-book__cover-wrap::after {
    display: none !important;
}

.pem-featured-book__card--builder .pem-featured-book__button {
    pointer-events: none;
}
