.bpf-book-completion .elementor-widget-heading .elementor-heading-title { font-variation-settings: "SOFT" 0, "WONK" 1; }
.bpf-book-completion .elementor-widget-text-editor p { margin: 0; }
.bpf-book-completion .bpf-book-buy-link { text-decoration: none; }
.bpf-book-completion .bpf-book-buy-link:focus-visible { outline: 2px solid #366c42; outline-offset: 4px; }
.bpf-book-completion .bpf-book-newsletter-form .mc4wp-form { margin: 0; width: 100%; }
.bpf-book-completion .bpf-book-newsletter-form .mc4wp-form-fields { position: relative; display: flex; align-items: center; gap: 8px; min-height: 70px; padding: 8px; border: 1px solid #b4afa4; background: rgb(255 255 255 / 25%); box-sizing: border-box; }
.bpf-book-completion .bpf-book-newsletter-form .mc4wp-form-fields p { margin: 0; }
.bpf-book-completion .bpf-book-newsletter-form input[type="email"] { width: 100%; min-width: 0; height: 52px; border: 0; background: transparent; padding: 0 12px; color: #6b6257; font: 400 21px/33px "IBM Plex Sans", sans-serif; }
.bpf-book-completion .bpf-book-newsletter-form input[type="submit"],
.bpf-book-completion .bpf-book-newsletter-form button[type="submit"] { position: static !important; flex: 0 0 150px; width: 150px; min-height: 54px; padding: 12px 18px; border: 0; border-radius: 5px; background: #7ba484; color: white; font: 500 18px/26px "IBM Plex Sans", sans-serif; }
/* Only the contents table changes below desktop. Keep a flexible title column
   and a fixed page-number column, including the Communication 101 subtopics. */
@media (max-width: 1024px) {
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row {
        min-height: 0 !important;
        padding: 16px 20px !important;
    }
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row > .e-con:first-child,
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row > .e-con:nth-child(2) > .e-con {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 3rem;
        column-gap: 12px;
        align-items: start;
        width: 100%;
        min-width: 0;
    }
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row .elementor-widget-text-editor {
        width: auto !important;
        max-width: 100% !important;
        min-width: 0;
        font-size: 16px !important;
        line-height: 1.55 !important;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
    }
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row .elementor-widget-text-editor:last-child {
        text-align: right;
        white-space: nowrap;
        overflow-wrap: normal;
    }
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row > .e-con:nth-child(2) {
        width: auto !important;
        max-width: 100%;
        align-self: stretch;
        margin-inline-start: 20px !important;
    }
    .bpf-book-completion.bpf-book-toc > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
        font-size: 44px;
        line-height: 1.2;
    }
}
@media (max-width: 767px) {
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row { padding: 14px 12px !important; }
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row .elementor-widget-text-editor { font-size: 15px !important; }
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row > .e-con:first-child,
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row > .e-con:nth-child(2) > .e-con {
        grid-template-columns: minmax(0, 1fr) 2.25rem;
        column-gap: 8px;
    }
    .bpf-book-completion.bpf-book-toc .bpf-book-toc-row > .e-con:nth-child(2) { margin-inline-start: 12px !important; }
    .bpf-book-completion.bpf-book-toc > .e-con-inner > .elementor-widget-heading .elementor-heading-title { font-size: 32px; }
    .bpf-book-completion .bpf-book-detail-colon { display: none; }
    .bpf-book-completion .bpf-book-newsletter-form .mc4wp-form-fields { flex-wrap: wrap; }
    .bpf-book-completion .bpf-book-newsletter-form input[type="email"] { font-size: 18px; }
    .bpf-book-completion .bpf-book-newsletter-form input[type="submit"],
    .bpf-book-completion .bpf-book-newsletter-form button[type="submit"] { width: 100%; flex-basis: 100%; }
}
