/* Standard posts only: editorial layout using the shared brand typography. */
.jpbc-article-page { --article-pink:#F055A5; color:var(--jpbc-charcoal); padding:156px 24px 0; }
.jpbc-article-reading { width:100%; max-width:780px; margin-inline:auto; }
.jpbc-article-header { margin-bottom:40px; }
.jpbc-article-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:14px; margin-bottom:36px; }
.jpbc-article-page a { color:inherit; text-underline-offset:4px; }
.jpbc-article-page a:hover { text-decoration:underline; }
.jpbc-article-page :is(a,button):focus-visible { outline:3px solid #7A88FE; outline-offset:5px; }
.jpbc-article-categories,.jpbc-article-eyebrow { font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.jpbc-article-categories { margin-bottom:16px; }
.jpbc-article-header h1 { font-family:var(--jpbc-font-display); font-size:clamp(36px,5vw,64px); line-height:1.08; letter-spacing:-.035em; margin:0 0 24px; overflow-wrap:anywhere; }
.jpbc-article-meta { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:14px; color:#555; }
.jpbc-article-deck { font-size:clamp(20px,2.4vw,25px); line-height:1.6; margin-top:24px; color:#555; }
.jpbc-article-featured { max-width:1100px; margin:0 auto 48px; }
.jpbc-article-featured img { display:block; width:100%; height:auto; border-radius:24px; }
.jpbc-article-page figcaption { margin-top:12px; color:#555; font-size:14px; line-height:1.5; text-align:center; }
.jpbc-article-content { font-family:var(--jpbc-font-body); font-size:18px; line-height:1.8; overflow-wrap:anywhere; }
.jpbc-article-content > * { max-width:100%; }
.jpbc-article-content :is(h2,h3,h4,h5,h6) { margin-top:1.6em; margin-bottom:.6em; line-height:1.2; }
.jpbc-article-content h2 { font-size:clamp(28px,4vw,38px); }
.jpbc-article-content h3 { font-size:clamp(23px,3vw,29px); }
.jpbc-article-content p { margin-bottom:1.3em; }
.jpbc-article-content :is(ul,ol) { padding-left:1.5em; }
.jpbc-article-content li + li { margin-top:.4em; }
.jpbc-article-content a:not(.wp-element-button,.elementor-button) { text-decoration:underline; text-decoration-color:var(--article-pink); text-decoration-thickness:2px; }
.jpbc-article-content :is(img,video) { max-width:100%; height:auto; }
.jpbc-article-content iframe { max-width:100%; }
.jpbc-article-content iframe[src*="youtube"],.jpbc-article-content iframe[src*="vimeo"] { width:100%; height:auto; aspect-ratio:16/9; }
.jpbc-article-content :is(.alignwide,.alignfull) { width:100%; max-width:100%; margin-inline:0; }
.jpbc-article-content :is(pre,.wp-block-table,.jpbc-article-table-scroll) { max-width:100%; overflow-x:auto; }
.jpbc-article-content .jpbc-article-table-scroll table { min-width:100%; margin:0; }
.jpbc-article-content table { border-collapse:collapse; }
.jpbc-article-content :is(th,td) { padding:12px; border:1px solid #e4e4e4; }
.jpbc-article-content blockquote { margin:32px 0; padding:24px; border-left:4px solid var(--article-pink); background:#f6f6f6; border-radius:0 20px 20px 0; }
.jpbc-article-content .gallery { display:flex; flex-wrap:wrap; gap:16px; }
.jpbc-article-content .gallery-item { flex:1 1 180px; margin:0; }
.jpbc-article-source { margin-top:40px; padding:24px; background:#BFDFF3; border-radius:24px; }
.jpbc-article-source h2 { font-size:22px; margin:0 0 12px; }
.jpbc-article-source p { margin:0 0 12px; }
.jpbc-article-source a { font-weight:700; text-decoration:underline; }
.jpbc-article-footer { margin-top:40px; border-top:1px solid #e4e4e4; padding-top:28px; }
.jpbc-article-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.jpbc-article-tags a { background:#f0f0f0; padding:6px 14px; border-radius:999px; font-size:14px; }
.jpbc-article-share { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.jpbc-article-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 24px; border:2px solid transparent; border-radius:999px; background:var(--article-pink); color:#1f1f1f !important; font:700 16px/1.4 var(--jpbc-font-body); text-decoration:none; cursor:pointer; }
.jpbc-article-button[hidden] { display:none; }
.jpbc-article-button:hover { background:#FABE37; }
.jpbc-article-button-outline { background:transparent; border-color:#1f1f1f; }
.jpbc-article-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.jpbc-article-navigation a { display:flex; flex-direction:column; gap:8px; padding:20px; background:#f6f6f6; border-radius:20px; overflow-wrap:anywhere; }
.jpbc-article-navigation span { font-size:13px; color:#555; }
.jpbc-article-related { max-width:1200px; margin:80px auto; }
.jpbc-article-related > h2,.jpbc-article-cta h2 { font-size:clamp(30px,4vw,48px); line-height:1.15; margin:12px 0 32px; }
.jpbc-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.jpbc-article-card { min-width:0; background:#fff; border:1px solid #e4e4e4; border-radius:24px; overflow:hidden; transition:transform 250ms ease,box-shadow 250ms ease; }
.jpbc-article-card > img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.jpbc-article-card-body { padding:24px; }
.jpbc-article-card h3 { font-size:24px; line-height:1.25; margin:12px 0; overflow-wrap:anywhere; }
.jpbc-article-card p { font-size:16px; line-height:1.65; }
.jpbc-article-card .jpbc-article-eyebrow { font-size:12px; }
.jpbc-article-read { font-weight:700; }
.jpbc-article-card:focus-within { box-shadow:var(--jpbc-shadow-soft); }
.jpbc-article-cta { margin-inline:-24px; padding:64px 24px; text-align:center; background:#BFDFF3; }
.jpbc-article-cta > div { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; }
/* The shared header overlays a light article surface instead of a dark hero. */
body.single-post:not(.jpbc-header-scrolled) .elementor .jpbc-site-header { background:#fff !important; }
body.single-post:not(.jpbc-header-scrolled) .elementor .jpbc-site-header :is(.softlite-dynamic-card-box-text-1,.sdyo5jbt,.hfe-menu-item,.hfe-nav-menu__toggle) { color:#1f1f1f !important; }
body.single-post:not(.jpbc-header-scrolled) .elementor .jpbc-site-header [data-id="27e1eabd"] .elementor-button { color:#1f1f1f; border-color:#1f1f1f; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .jpbc-article-card:hover { transform:translateY(-4px); box-shadow:var(--jpbc-shadow-soft); } }
@media (max-width:1024px) { .jpbc-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .jpbc-article-page { padding-top:112px; } }
@media (max-width:767px) { .jpbc-article-grid,.jpbc-article-navigation { grid-template-columns:minmax(0,1fr); } .jpbc-article-related { margin-block:56px; } .jpbc-article-content { font-size:17px; } .jpbc-article-featured { margin-bottom:32px; } }
@media (prefers-reduced-motion:reduce) { .jpbc-article-card { transition:none; } }
/* Contain classic tables even when JavaScript is unavailable. */
.jpbc-article-content table { display:block; max-width:100%; overflow-x:auto; }
.jpbc-article-content :is(.wp-block-table,.jpbc-article-table-scroll) table { display:table; }
.jpbc-article-table-scroll:focus-visible { outline:3px solid #7A88FE; outline-offset:4px; }
.jpbc-article-page .jpbc-article-button { border-radius:999px; }
