/* IBCPro article pages: scoped styles using the existing theme palette/font. */
.ibcpro-blog {
    --blog-text: var(--ibcpro-text, #243746);
    --blog-muted: var(--ibcpro-muted, #657789);
    --blog-border: var(--ibcpro-border, #d7e2ea);
    --blog-blue: var(--ibcpro-primary, #0b5eaa);
    --blog-surface: var(--ibcpro-surface, #f6f8fa);
    --blog-sticky-top: 132px;
    color: var(--blog-text);
    padding-bottom: 72px;
}
.ibcpro-blog [hidden] { display: none !important; }
.ibcpro-blog a,
.ibcpro-blog button { -webkit-tap-highlight-color: transparent; }
.ibcpro-blog a:focus-visible,
.ibcpro-blog button:focus-visible,
.ibcpro-blog summary:focus-visible {
    outline: 3px solid var(--blog-blue);
    outline-offset: 4px;
}
.ibcpro-blog-breadcrumb { padding: 22px 0; font-size: .78rem; color: var(--blog-muted); }
.ibcpro-blog-breadcrumb ol {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin: 0; padding: 0; list-style: none;
}
.ibcpro-blog-breadcrumb li { display: inline; overflow-wrap: anywhere; }
.ibcpro-blog-breadcrumb li + li::before {
    content: "/"; color: #9babb7; margin-inline-end: 8px;
}
.ibcpro-blog-breadcrumb a { color: var(--blog-muted); }
.ibcpro-blog-breadcrumb a:hover { color: var(--blog-blue); }
.ibcpro-blog-breadcrumb [aria-current] { color: var(--blog-text); }
.ibcpro-blog-hero { background: var(--blog-surface); border-bottom: 1px solid var(--blog-border); }
.ibcpro-blog-hero-row {
    display: grid; grid-template-columns: minmax(0, 1fr) 320px;
    align-items: center; gap: 56px; padding: 22px 0 46px;
}
.ibcpro-blog-hero-copy h1,
.ibcpro-blog-article-header h1 {
    margin: 0 0 18px; font-size: clamp(1.8rem, 3.1vw, 2.8rem);
    line-height: 1.6; font-weight: 650; overflow-wrap: anywhere;
}
.ibcpro-blog-description { max-width: 700px; font-size: .96rem; line-height: 2; }
.ibcpro-blog-description p:last-child { margin-bottom: 0; }
.ibcpro-blog-search label { display: block; font-size: .82rem; font-weight: 600; margin-bottom: 9px; }
.ibcpro-blog-search > div {
    display: flex; align-items: stretch; padding: 5px; gap: 5px;
    border: 1px solid var(--blog-border); border-radius: 9px; background: #fff;
}
.ibcpro-blog-search input[type="search"] {
    flex: 1; min-width: 0; width: 100%; padding: 8px 10px;
    font-size: .84rem; background: #fff; border: 0; border-radius: 6px;
}
.ibcpro-blog-search button {
    display: grid; place-items: center; flex: 0 0 44px; min-height: 44px;
    border: 0; border-radius: 6px; background: var(--blog-blue); color: #fff;
}
.ibcpro-blog-search button:hover { background: var(--ibcpro-primary-dark, #073b6f); }
.ibcpro-blog-listing { padding-top: 32px; }
.ibcpro-blog-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; margin-bottom: 30px;
}
.ibcpro-blog-topics { min-width: 0; }
.ibcpro-blog-topics ul {
    display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0;
}
.ibcpro-blog-topics a {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 8px 16px; min-height: 44px; font-size: .82rem; line-height: 1.7;
    border: 1px solid var(--blog-border); border-radius: 8px;
    background: #fff; color: var(--blog-text);
}
.ibcpro-blog-topics a:hover { border-color: var(--blog-blue); color: var(--blog-blue); }
.ibcpro-blog-topics a[aria-current] { background: var(--blog-blue); border-color: var(--blog-blue); color: #fff; }
.ibcpro-blog-count { flex: 0 0 auto; margin: 0; font-size: .8rem; color: var(--blog-muted); }
.ibcpro-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ibcpro-blog-card {
    display: flex; flex-direction: column; min-width: 0; overflow: hidden;
    border: 1px solid var(--blog-border); border-radius: 12px; background: #fff;
    transition: border-color .18s, box-shadow .18s;
}
.ibcpro-blog-card:hover { border-color: #abc0cf; box-shadow: 0 10px 28px rgb(20 43 58 / 7%); }
.ibcpro-blog-card-media { display: block; overflow: hidden; background: var(--blog-surface); border-bottom: 1px solid var(--blog-border); }
.ibcpro-blog-card-media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.ibcpro-blog-card-placeholder {
    display: grid; place-items: center; aspect-ratio: 3 / 2;
    background: var(--blog-surface); color: #8da9bc;
}
.ibcpro-blog-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 22px; }
.ibcpro-blog-category {
    display: inline-flex; max-width: 100%; padding: 4px 10px; border-radius: 5px;
    background: #f0f5f8; color: var(--blog-blue); font-size: .73rem;
    line-height: 1.9; overflow-wrap: anywhere;
}
.ibcpro-blog-card-title { font-size: 1.09rem; font-weight: 650; line-height: 1.9; margin: 12px 0 10px; overflow-wrap: anywhere; }
.ibcpro-blog-card-title a { color: var(--ibcpro-graphite, #142b3a); }
.ibcpro-blog-card-title a:hover { color: var(--blog-blue); }
.ibcpro-blog-card-excerpt {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
    overflow: hidden; font-size: .86rem; line-height: 1.95;
    color: var(--blog-muted); margin-bottom: 20px; overflow-wrap: anywhere;
}
.ibcpro-blog-card-meta {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 14px;
    width: 100%; margin-top: auto; font-size: .73rem; color: var(--blog-muted);
}
.ibcpro-blog-card-meta span { display: inline-flex; align-items: center; gap: 5px; }
.ibcpro-blog-read {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; min-height: 44px; padding-top: 14px; margin-top: 16px;
    border-top: 1px solid var(--blog-border); font-size: .82rem; font-weight: 600;
}
.ibcpro-blog-empty { padding: 64px 22px; text-align: center; border: 1px solid var(--blog-border); border-radius: 12px; background: var(--blog-surface); }
.ibcpro-blog-empty > svg { color: var(--blog-blue); }
.ibcpro-blog-empty h2 { margin-top: 16px; font-size: 1.4rem; }
.ibcpro-blog-empty p { font-size: .92rem; }
.ibcpro-blog .pagination { margin-top: 36px; }
.ibcpro-blog .pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.ibcpro-blog .pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; padding: 7px 13px;
    border: 1px solid var(--blog-border); border-radius: 7px; font-size: .85rem;
}
.ibcpro-blog .pagination .current { background: var(--blog-blue); border-color: var(--blog-blue); color: #fff; }
.ibcpro-blog .pagination .dots { border: 0; min-width: 28px; padding-inline: 4px; }
.ibcpro-blog .pagination a:hover { border-color: var(--blog-blue); }

/* Single article. */
.ibcpro-blog-article-header { max-width: 1000px; padding: 20px 0 32px; }
.ibcpro-blog-article-header > .ibcpro-blog-category { margin-bottom: 16px; font-size: .78rem; }
.ibcpro-blog-lead { max-width: 880px; font-size: 1.04rem; line-height: 2; color: var(--blog-muted); }
.ibcpro-blog-article-meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px;
    margin-top: 22px; font-size: .8rem; color: var(--blog-muted);
}
.ibcpro-blog-article-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.ibcpro-blog-article-meta a { color: var(--blog-text); }
.ibcpro-blog-article-layout { display: block; }
.ibcpro-blog-article-layout.has-toc { display: grid; grid-template-columns: minmax(0, 1fr) 272px; align-items: start; gap: 48px; }
.ibcpro-blog-article-body { min-width: 0; max-width: 880px; }
.has-toc > .ibcpro-blog-article-body { grid-column: 1; grid-row: 1; }
.ibcpro-blog-sidebar { grid-column: 2; grid-row: 1; position: sticky; top: var(--blog-sticky-top); min-width: 0; }
.ibcpro-blog-toc { background: var(--blog-surface); border: 1px solid var(--blog-border); border-radius: 10px; overflow: hidden; }
.ibcpro-blog-toc summary {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    min-height: 58px; padding: 16px 18px; font-size: .9rem; font-weight: 600;
    color: var(--ibcpro-graphite, #142b3a); list-style: none; cursor: pointer;
}
.ibcpro-blog-toc summary::-webkit-details-marker { display: none; }
.ibcpro-blog-toc[open] summary { border-bottom: 1px solid var(--blog-border); }
.ibcpro-blog-toc[open] summary svg { transform: rotate(180deg); }
.ibcpro-blog-toc nav { max-height: calc(100dvh - var(--blog-sticky-top) - 155px); overflow-y: auto; overscroll-behavior: contain; }
.ibcpro-blog-toc ol { display: grid; gap: 2px; list-style: none; padding: 12px; margin: 0; }
.ibcpro-blog-toc a { display: block; padding: 9px 10px; border-radius: 5px; color: var(--blog-text); font-size: .81rem; line-height: 1.9; overflow-wrap: anywhere; }
.ibcpro-blog-toc a:hover,
.ibcpro-blog-toc a[aria-current] { color: var(--blog-blue); background: #fff; }
.ibcpro-blog-toc a[aria-current] { font-weight: 650; }
.ibcpro-blog-toc-level-3 a { padding-inline-start: 23px; font-size: .77rem; color: var(--blog-muted); }
.ibcpro-blog-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 16px; font-size: .82rem; }
.ibcpro-blog-featured { margin: 0 0 34px; }
.ibcpro-blog-featured img { width: 100%; height: auto; max-height: 560px; object-fit: contain; border-radius: 12px; background: var(--blog-surface); }
.ibcpro-blog-featured figcaption { margin-top: 10px; text-align: center; color: var(--blog-muted); font-size: .78rem; }
.ibcpro-blog-content { font-size: 1.02rem; line-height: 2.15; overflow-wrap: anywhere; }
.ibcpro-blog-content p,
.ibcpro-blog-content li { color: var(--blog-text); }
.ibcpro-blog-content p { margin-bottom: 1.4em; }
.ibcpro-blog-content h2 { margin: 1.65em 0 .7em; font-size: clamp(1.3rem, 2vw, 1.65rem); font-weight: 650; line-height: 1.8; }
.ibcpro-blog-content h3 { margin: 1.5em 0 .6em; font-size: 1.18rem; font-weight: 650; line-height: 1.8; }
.ibcpro-blog-content h4 { margin-top: 1.5em; font-size: 1.05rem; }
.ibcpro-blog-content h2,
.ibcpro-blog-content h3,
.ibcpro-blog-content [id] { scroll-margin-top: calc(var(--blog-sticky-top) + 20px); }
.ibcpro-blog-content > :first-child { margin-top: 0; }
.ibcpro-blog-content a { color: var(--blog-blue); text-underline-offset: 4px; }
.ibcpro-blog-content ul,
.ibcpro-blog-content ol { padding-inline-start: 24px; margin-bottom: 1.6em; }
.ibcpro-blog-content li + li { margin-top: .4em; }
.ibcpro-blog-content li::marker { color: var(--blog-blue); }
.ibcpro-blog-content blockquote {
    margin: 28px 0; padding: 22px 26px; background: var(--blog-surface);
    border: 1px solid var(--blog-border); border-radius: 10px;
}
.ibcpro-blog-content blockquote p:last-child { margin-bottom: 0; }
.ibcpro-blog-content blockquote cite { display: block; margin-top: 12px; font-size: .84rem; color: var(--blog-muted); }
.ibcpro-blog-content figure { max-width: 100%; margin-inline: 0; }
.ibcpro-blog-content figcaption { text-align: center; font-size: .8rem; color: var(--blog-muted); }
.ibcpro-blog-content .alignwide,
.ibcpro-blog-content .alignfull { max-width: 100%; width: 100%; margin-inline: 0; }
.ibcpro-blog-content img { max-width: 100%; height: auto; border-radius: 8px; }
.ibcpro-blog-content iframe,
.ibcpro-blog-content video { max-width: 100%; }
.ibcpro-blog-content pre { direction: ltr; text-align: left; unicode-bidi: isolate; max-width: 100%; overflow-x: auto; padding: 20px; background: #142b3a; color: #e8f0f5; border-radius: 8px; font-size: .85rem; }
.ibcpro-blog-content code { font-family: ui-monospace, monospace; unicode-bidi: isolate; }
.ibcpro-blog-content :not(pre) > code { direction: ltr; display: inline-block; padding: 2px 6px; border-radius: 4px; background: var(--blog-surface); font-size: .86em; }
.ibcpro-blog-content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-bottom: 28px; font-size: .9rem; }
.ibcpro-blog-content table th,
.ibcpro-blog-content table td { border: 1px solid var(--blog-border); padding: 12px 16px; min-width: 130px; vertical-align: top; text-align: start; }
.ibcpro-blog-content table th { background: var(--blog-surface); font-weight: 600; }
.ibcpro-blog-content table tr:nth-child(even) td { background: #fafbfc; }
.ibcpro-blog-content .wp-block-table { overflow-x: auto; }
.ibcpro-blog-content .wp-block-table table { margin-bottom: 0; }
.ibcpro-blog-content .wp-block-button__link { text-decoration: none; }
.ibcpro-blog-page-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 30px 0; font-size: .85rem; }
.ibcpro-blog-page-links a,
.ibcpro-blog-page-links > .post-page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--blog-border); border-radius: 6px; text-decoration: none; }
.ibcpro-blog-page-links > .current { background: var(--blog-blue); color: #fff; border-color: var(--blog-blue); }
.ibcpro-blog-article-footer { display: grid; gap: 18px; padding: 24px 0; margin-top: 36px; border-top: 1px solid var(--blog-border); border-bottom: 1px solid var(--blog-border); }
.ibcpro-blog-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .78rem; }
.ibcpro-blog-tags > span { color: var(--blog-muted); margin-inline-end: 4px; }
.ibcpro-blog-tags a { padding: 6px 10px; border: 1px solid var(--blog-border); border-radius: 5px; color: var(--blog-text); }
.ibcpro-blog-tags a:hover { color: var(--blog-blue); border-color: var(--blog-blue); }
.ibcpro-blog-share { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: .8rem; }
.ibcpro-blog-share button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 13px; border: 1px solid var(--blog-border); border-radius: 6px; background: #fff; color: var(--blog-text); }
.ibcpro-blog-share button:hover { border-color: var(--blog-blue); color: var(--blog-blue); }
.ibcpro-blog-copy-status { color: var(--blog-muted); }
.ibcpro-blog .post-navigation { margin-top: 28px; }
.ibcpro-blog .post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ibcpro-blog .post-navigation .nav-links > div { min-width: 0; }
.ibcpro-blog .post-navigation .nav-next { text-align: end; grid-column: 2; }
.ibcpro-blog .post-navigation a { display: block; height: 100%; padding: 18px; border: 1px solid var(--blog-border); border-radius: 9px; }
.ibcpro-blog .post-navigation a:hover { border-color: var(--blog-blue); }
.ibcpro-blog-nav-label { display: block; color: var(--blog-muted); font-size: .75rem; margin-bottom: 8px; }
.ibcpro-blog-nav-title { display: block; color: var(--blog-text); font-size: .88rem; line-height: 1.95; overflow-wrap: anywhere; }
.ibcpro-blog-related { margin-top: 64px; padding-top: 36px; border-top: 1px solid var(--blog-border); }
.ibcpro-blog-related-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.ibcpro-blog-related-head h2 { margin: 0; font-size: 1.55rem; font-weight: 650; }
.ibcpro-blog-related-head > a { display: inline-flex; align-items: center; gap: 7px; font-size: .82rem; }

/* WordPress comments and threaded replies. */
.ibcpro-blog-comments { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--blog-border); }
.ibcpro-blog-comments h2 { font-size: 1.45rem; font-weight: 650; }
.ibcpro-blog-comments .comment-list { padding: 0; margin: 26px 0 30px; list-style: none; }
.ibcpro-blog-comments .comment-list .children { list-style: none; padding-inline-start: 22px; margin-top: 16px; }
.ibcpro-blog-comments .comment-body { padding: 20px; margin-bottom: 16px; border: 1px solid var(--blog-border); border-radius: 9px; background: #fff; }
.ibcpro-blog-comments .comment-meta { font-size: .82rem; }
.ibcpro-blog-comments .comment-author { color: var(--blog-text); }
.ibcpro-blog-comments .comment-metadata { font-size: .72rem; color: var(--blog-muted); margin-top: 6px; }
.ibcpro-blog-comments .comment-metadata a { color: var(--blog-muted); }
.ibcpro-blog-comments .comment-content { font-size: .9rem; margin-top: 14px; overflow-wrap: anywhere; }
.ibcpro-blog-comments .comment-content p:last-child { margin-bottom: 0; color: var(--blog-text); }
.ibcpro-blog-comments .reply { margin-top: 10px; font-size: .8rem; }
.ibcpro-blog-comments .comment-respond { padding: 26px; border: 1px solid var(--blog-border); border-radius: 10px; background: var(--blog-surface); }
.ibcpro-blog-comment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ibcpro-blog-comment-form > p { margin: 0; font-size: .85rem; }
.ibcpro-blog-comment-form > :not(.comment-form-author):not(.comment-form-email) { grid-column: 1 / -1; }
.ibcpro-blog-comment-form label { display: block; color: var(--blog-text); margin-bottom: 7px; }
.ibcpro-blog-comment-form input:not([type="checkbox"]):not([type="submit"]),
.ibcpro-blog-comment-form textarea { width: 100%; background: #fff; }
.ibcpro-blog-comment-form textarea { min-height: 160px; resize: vertical; }
.ibcpro-blog-comment-form input[type="email"],
.ibcpro-blog-comment-form input[type="url"] { direction: ltr; text-align: left; }
.ibcpro-blog-comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
.ibcpro-blog-comment-form .comment-form-cookies-consent input { margin: 6px 0 0; }
.ibcpro-blog-comment-form input[type="submit"] { background: var(--blog-blue); color: #fff; }
.ibcpro-blog-comment-form input[type="submit"]:hover { background: var(--ibcpro-primary-dark, #073b6f); }
.ibcpro-blog .post-password-form { padding: 24px; background: var(--blog-surface); border: 1px solid var(--blog-border); border-radius: 10px; }
.ibcpro-blog .post-password-form label { display: inline-block; }

@media (max-width: 1024px) {
    .ibcpro-blog-hero-row { grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; }
    .ibcpro-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .ibcpro-blog-article-layout.has-toc { display: flex; flex-direction: column; gap: 24px; }
    .ibcpro-blog-sidebar { position: static; width: 100%; }
    .ibcpro-blog-toc nav { max-height: 360px; }
    .ibcpro-blog-back { display: none; }
    .ibcpro-blog-article-body { width: 100%; max-width: 100%; }
}
@media (max-width: 680px) {
    .ibcpro-blog { padding-bottom: 44px; --blog-sticky-top: 90px; }
    .ibcpro-blog .ibcpro-container { width: calc(100% - 32px); }
    .ibcpro-blog-breadcrumb { padding: 18px 0; font-size: .71rem; }
    .ibcpro-blog-hero-row { grid-template-columns: 1fr; gap: 28px; padding: 16px 0 30px; }
    .ibcpro-blog-hero-copy h1,
    .ibcpro-blog-article-header h1 { font-size: 1.75rem; line-height: 1.7; margin-bottom: 14px; }
    .ibcpro-blog-description { font-size: .88rem; }
    .ibcpro-blog-search { max-width: 100%; }
    .ibcpro-blog-listing { padding-top: 24px; }
    .ibcpro-blog-toolbar { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 22px; }
    .ibcpro-blog-topics a { padding-inline: 12px; font-size: .77rem; }
    .ibcpro-blog-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .ibcpro-blog-card-body { padding: 20px; }
    .ibcpro-blog-card-title { font-size: 1.05rem; }
    .ibcpro-blog-article-header { padding: 12px 0 26px; }
    .ibcpro-blog-lead { font-size: .94rem; }
    .ibcpro-blog-article-meta { gap: 10px 16px; font-size: .75rem; }
    .ibcpro-blog-featured { margin-bottom: 26px; }
    .ibcpro-blog-content { font-size: .95rem; }
    .ibcpro-blog-content h2 { font-size: 1.3rem; }
    .ibcpro-blog-content h3 { font-size: 1.12rem; }
    .ibcpro-blog-content blockquote { padding: 18px; }
    .ibcpro-blog .post-navigation .nav-links { grid-template-columns: 1fr; }
    .ibcpro-blog .post-navigation .nav-next { grid-column: auto; text-align: start; }
    .ibcpro-blog-related { margin-top: 44px; padding-top: 28px; }
    .ibcpro-blog-related-head h2 { font-size: 1.3rem; }
    .ibcpro-blog-related-head > a { font-size: .76rem; }
    .ibcpro-blog-comments .comment-respond { padding: 18px; }
    .ibcpro-blog-comments .comment-body { padding: 16px; }
    .ibcpro-blog-comments .comment-list .children { padding-inline-start: 12px; }
    .ibcpro-blog-comment-form { grid-template-columns: minmax(0, 1fr); }
    .ibcpro-blog-comment-form > p { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .ibcpro-blog * { scroll-behavior: auto; transition: none; }
}
