/* ============================================================
   PEM — Book Single for Divi
   v1.3.0
   ============================================================ */

.et_pb_pem_book_single,
.et_pb_pem_book_single .et_pb_module_inner {
    overflow: visible !important;
}

.pem-book-single__card {
    --pem-bs-accent: var(--pem-accent, #ED7024);

    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    padding:
        var(--pem-bs-pad-top, 24px)
        var(--pem-bs-pad-right, 24px)
        var(--pem-bs-pad-bottom, 24px)
        var(--pem-bs-pad-left, 24px);
    border: var(--pem-bs-card-border-width, 1px) solid var(--pem-bs-card-border, #DADAD7);
    border-radius: var(--pem-bs-card-radius, 16px);
    background: var(--pem-bs-card-bg, #FFFFFF);
    color: var(--pem-black, #0A0A0A);
    font-family: "Manrope", sans-serif;
    transform: translateY(0);
    transition:
        transform var(--pem-bs-speed, 420ms) cubic-bezier(.22, 1, .36, 1),
        box-shadow var(--pem-bs-speed, 420ms) cubic-bezier(.22, 1, .36, 1);
    overflow: visible;
}

.pem-book-single__card--fill-column {
    height: 100%;
}

.pem-book-single__card--static-shadow {
    box-shadow:
        0 14px 34px -26px rgba(10,10,10,.18),
        0 4px 12px -10px rgba(10,10,10,.08);
}

.et_pb_pem_book_single:has(.pem-book-single__card--fill-column),
.et_pb_pem_book_single:has(.pem-book-single__card--fill-column) .et_pb_module_inner {
    height: 100%;
}

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

.pem-book-single__cover-stage {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    perspective: 1400px;
    overflow: visible;
}

.pem-book-single__cover-wrap {
    --pem-bs-cover-rx: 0deg;
    --pem-bs-cover-ry: 0deg;
    --pem-bs-cover-scale: 1;
    --pem-bs-glare-x: 50%;
    --pem-bs-glare-y: 50%;
    --pem-bs-glare-opacity: 0;
    --pem-bs-shadow-x: 0px;
    --pem-bs-shadow-y: 18px;

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

.pem-book-single__card--cover-shadow .pem-book-single__cover-wrap {
    box-shadow:
        var(--pem-bs-shadow-x)
        var(--pem-bs-shadow-y)
        44px
        rgba(10, 10, 10, .17),
        0 6px 16px rgba(10, 10, 10, .08);
}

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

.pem-book-single__card--cover-glare .pem-book-single__cover-wrap::after {
    content: "";
    position: absolute;
    inset: -18%;
    z-index: 2;
    pointer-events: none;
    opacity: var(--pem-bs-glare-opacity);
    background:
        radial-gradient(
            circle at var(--pem-bs-glare-x) var(--pem-bs-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-book-single__cover-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    max-width: var(--pem-bs-cover-max, 100%);
    aspect-ratio: 2 / 3;
    border: 1px dashed var(--pem-border, #DADAD7);
    border-radius: var(--pem-bs-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-book-single__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin-top: var(--pem-bs-content-top, 20px);
}

.pem-book-single__card--fill-column .pem-book-single__content {
    flex: 1 1 auto;
}

/* ------------------------------------------------------------
   SELOS
   ------------------------------------------------------------ */

.pem-book-single__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--pem-bs-badge-gap, 8px);
    margin: 0 0 var(--pem-bs-badge-bottom, 12px) 0;
}

.pem-book-single__badge {
    color: var(--pem-bs-badge-color, #636360);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-bs-badge-size, 10px);
    line-height: 1.35;
    font-weight: var(--pem-bs-badge-weight, 600);
    letter-spacing: var(--pem-bs-badge-letter, 1.5px);
    text-transform: uppercase;
}

.pem-book-single__card--badge-pill .pem-book-single__badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding:
        var(--pem-bs-badge-pad-y, 5px)
        var(--pem-bs-badge-pad-x, 10px);
    border-radius: var(--pem-bs-badge-radius, 999px);
    background: var(--pem-gray, #F3F3F1);
}

.pem-book-single__card--badge-pill.pem-book-single__card--badge2-accent .pem-book-single__badge--2 {
    background: var(--pem-accent-soft, #FDEEE5);
}

.pem-book-single__card--badge2-accent .pem-book-single__badge--2 {
    color: var(--pem-bs-accent, #ED7024);
}

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

.pem-book-single__title {
    margin: 0 0 var(--pem-bs-author-top, 8px) 0 !important;
    padding: 0 !important;
    color: var(--pem-bs-title-color, #0A0A0A) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: var(--pem-bs-title-size-d, 22px) !important;
    line-height: var(--pem-bs-title-line, 1.25em) !important;
    font-weight: var(--pem-bs-title-weight, 600) !important;
    letter-spacing: var(--pem-bs-title-letter, -0.2px) !important;
}

.pem-book-single__author {
    margin: 0 0 var(--pem-bs-summary-top, 18px) 0;
    color: var(--pem-bs-author-color, #636360);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-bs-author-size, 14px);
    line-height: 1.45;
    font-weight: 400;
}

/* ------------------------------------------------------------
   DESCRIÇÃO
   ------------------------------------------------------------ */

.pem-book-single__summary {
    margin: 0 0 var(--pem-bs-meta-top, 18px) 0;
    color: var(--pem-bs-summary-color, #636360);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-bs-summary-size, 15px);
    line-height: var(--pem-bs-summary-line, 1.6em);
    font-weight: 400;
}

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

.pem-book-single__meta {
    display: grid;
    gap: 0;
    margin: 0;
}

.pem-book-single__meta-group--formats {
    margin-bottom: var(--pem-bs-meta-gap, 12px);
}

.pem-book-single__meta-group--skill {
    margin-bottom: var(--pem-bs-button-top, 24px);
}

.pem-book-single__meta-group {
    display: grid;
    gap: 4px;
}

.pem-book-single__meta-label {
    color: var(--pem-bs-meta-label-color, #636360);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-bs-meta-label-size, 10px);
    line-height: 1.35;
    font-weight: var(--pem-bs-meta-label-weight, 600);
    letter-spacing: var(--pem-bs-meta-label-letter, 1.8px);
    text-transform: uppercase;
}

.pem-book-single__meta-value {
    color: var(--pem-bs-meta-value-color, #0A0A0A);
    font-family: "Manrope", sans-serif;
    font-size: var(--pem-bs-meta-value-size, 14px);
    line-height: 1.55;
    font-weight: 400;
}

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

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

.pem-book-single__card--button-text .pem-book-single__button {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--pem-black, #0A0A0A) !important;
}

.pem-book-single__card--button-outline .pem-book-single__button {
    background: transparent;
    color: var(--pem-black, #0A0A0A) !important;
}

.pem-book-single__card--fill-column .pem-book-single__button {
    margin-top: auto;
    padding-top: 0;
}

@media (hover: hover) and (pointer: fine) {
    .pem-book-single__card--hover-lift:hover {
        transform: translateY(var(--pem-bs-lift, -6px));
    }

    .pem-book-single__card--hover-shadow:hover {
        box-shadow:
            0 26px 58px -32px rgba(10,10,10,.24),
            0 8px 20px -12px rgba(10,10,10,.12);
    }

    .pem-book-single__button:hover {
        transform: translateY(-3px);
        box-shadow:
            0 10px 22px rgba(10,10,10,.12),
            0 4px 10px rgba(10,10,10,.07);
    }

    .pem-book-single__card--button-accent-hover .pem-book-single__button:hover {
        background: var(--pem-bs-accent, #ED7024);
        border-color: var(--pem-bs-accent, #ED7024);
        color: var(--pem-accent-contrast, #FFFFFF) !important;
    }

    .pem-book-single__card--button-text.pem-book-single__card--button-accent-hover .pem-book-single__button:hover {
        background: transparent;
        border-color: transparent;
        color: var(--pem-bs-accent, #ED7024) !important;
    }
}

/* ------------------------------------------------------------
   RESPONSIVO
   ------------------------------------------------------------ */

@media (max-width: 980px) {
    .pem-book-single__title {
        font-size: var(--pem-bs-title-size-t, 18px) !important;
    }
}

@media (max-width: 767px) {
    .pem-book-single__title {
        font-size: var(--pem-bs-title-size-p, 18px) !important;
    }
}

/* ------------------------------------------------------------
   BUILDER / ACCESSIBILITY
   ------------------------------------------------------------ */

body.et-fb .pem-book-single__card,
body.et-fb .pem-book-single__cover-wrap,
body.et-fb .pem-book-single__button {
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .pem-book-single__card,
    .pem-book-single__cover-wrap,
    .pem-book-single__button {
        transform: none !important;
        transition: none !important;
    }

    .pem-book-single__cover-wrap::after {
        display: none !important;
    }
}

/* ------------------------------------------------------------
   FULL VISUAL BUILDER / THEME BUILDER — v1.3.0
   ------------------------------------------------------------ */
.pem-book-single__card--builder,
.pem-book-single__card--builder .pem-book-single__cover-wrap,
.pem-book-single__card--builder .pem-book-single__button {
    transform: none !important;
}

.pem-book-single__card--builder .pem-book-single__cover-wrap::after {
    opacity: 0 !important;
}
