/* Scope to plugin-generated article elements only. */
.entry-content .bnc-toc {
  margin: 1.9rem 0;
  padding: 1.4rem 1.6rem;
  border: 1px solid #cbdbea;
  border-radius: 14px;
  background: #eff5fa;
  color: #233b52;
}
.entry-content .bnc-toc__title {
  margin: 0 0 .75rem;
  font-size: 1.13rem;
  font-weight: 700;
}
.entry-content .bnc-toc__list { margin: 0; padding-left: 1.6rem; }
.entry-content .bnc-toc li { margin: .25rem 0; line-height: 1.65; }
.entry-content .bnc-toc__h3 { margin-left: 1.1rem; font-size: .95em; }
.entry-content .bnc-toc a { color: #175d96; text-decoration: none; overflow-wrap: anywhere; }
.entry-content .bnc-toc a:hover { text-decoration: underline; }
.entry-content h2[id^="bnc-h-"], .entry-content h3[id^="bnc-h-"] { scroll-margin-top: 6rem; }
.entry-content .bnc-ad {
  margin: 1.3rem auto 2rem;
  min-height: 110px;
  text-align: center;
  max-width: 100%;
}
.entry-content .bnc-ad__label {
  display: block;
  font-size: .72rem;
  line-height: 1.7;
  color: #62788d;
  margin-bottom: .3rem;
}
.entry-content .bnc-ad--preview {
  display: grid;
  place-content: center;
  min-height: 120px;
  padding: 1rem;
  border: 1px dashed #8da6bc;
  border-radius: 10px;
  color: #344a60;
  background: #f1f6fa;
}
.entry-content .bnc-ad--preview p { margin: 0; font-size: .85rem; }
.entry-content .bnc-ad ins { max-width: 100%; }
/* v2.1.9 — compact TOC ad area on desktop/mobile; inline media CSS supplies exact heights.
   Constrain the parent before Google calculates its ad size. Do not clip or
   transform the generated ad iframe; Google owns its final dimensions. */
.entry-content .bnc-ad.bnc-ad--primary {
  box-sizing: border-box;
  width: 100%;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.entry-content .bnc-ad--primary .bnc-ad__primary-container {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 360px;
  min-width: 0;
  margin-inline: auto;
}
.entry-content .bnc-ad--primary ins.adsbygoogle {
  display: block;
  width: 100%;
}

@media(max-width:560px) {
  .entry-content .bnc-toc { padding: 1rem .9rem; }
  .entry-content .bnc-toc__h3 { margin-left: .45rem; }
}


/* v1.1.0 | Link cards in editorial content, WordPress attachment images only. */
.bnc-linkcard {
  display:grid!important;grid-template-columns:minmax(140px,34%) minmax(0,1fr);
  width:min(100%,700px);min-width:0;max-width:100%;margin:26px auto!important;
  border:1px solid #cadfea!important;border-radius:14px!important;
  background:#fff!important;box-shadow:0 10px 28px rgba(20,55,85,.07);
  color:#15324b!important;text-decoration:none!important;overflow:hidden;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.bnc-linkcard:hover {border-color:#81b7df!important;transform:translateY(-2px);box-shadow:0 14px 30px rgba(20,55,85,.11);}
.bnc-linkcard:focus-visible{outline:3px solid #1879b9!important;outline-offset:3px;}
.bnc-linkcard__visual {display:block;min-width:0;min-height:155px;background:#0d2f4b;overflow:hidden;}
.bnc-linkcard__visual img{display:block;width:100%;height:100%;object-fit:cover;min-height:155px;max-width:none;}
.bnc-linkcard__placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:155px;background:radial-gradient(circle at 60% 30%,#326d9b 0,transparent 52%),linear-gradient(135deg,#0d263c,#165078);}
.bnc-linkcard__placeholder span{font-size:48px;font-weight:300;color:#bedef3;}
.bnc-linkcard__copy{display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:0;padding:17px 20px;}
.bnc-linkcard__label{color:#1370b3;font-size:11px;font-weight:700;letter-spacing:.03em;}
.bnc-linkcard__title{font-size:17px;line-height:1.55;font-weight:700;color:#14334a;overflow-wrap:anywhere;}
.bnc-linkcard__excerpt{font-size:12px;color:#567080;line-height:1.65;overflow-wrap:anywhere;}
.bnc-linkcard__domain{font-size:11px;color:#527e9a;overflow-wrap:anywhere;}
@media(max-width:560px){.bnc-linkcard{grid-template-columns:105px minmax(0,1fr);margin:18px auto!important;}.bnc-linkcard__visual,.bnc-linkcard__visual img,.bnc-linkcard__placeholder{min-height:132px}.bnc-linkcard__copy{padding:11px 12px;gap:5px}.bnc-linkcard__title{font-size:13px}.bnc-linkcard__excerpt{font-size:11px}.bnc-linkcard__domain{font-size:10px}.bnc-linkcard__placeholder span{font-size:30px}}
@media(max-width:350px){.bnc-linkcard{grid-template-columns:85px minmax(0,1fr)}.bnc-linkcard__visual,.bnc-linkcard__visual img,.bnc-linkcard__placeholder{min-height:125px}}

/* v2.1.0: stable whole-card glow without transform or scaling. */
.entry-content .wp-block-bobnoblog-article-card { margin: 1.55em 0; max-width:100%; }
.entry-content .wp-block-bobnoblog-article-card > .bnc-linkcard { margin:0 auto!important; }
.entry-content a.bnc-linkcard, a.bnc-linkcard {
  box-sizing:border-box; border:2px solid #99bed7!important;
  transform:none!important; transition:border-color .20s ease,box-shadow .20s ease!important;
}
.entry-content a.bnc-linkcard:hover, a.bnc-linkcard:hover {
  border-color:#279fe7!important; transform:none!important;
  box-shadow:0 0 0 1px rgba(53,160,237,.25),0 0 18px rgba(47,154,229,.22)!important;
}
a.bnc-linkcard img, a.bnc-linkcard:hover img {transform:none!important;transition:none!important;}
@media(prefers-reduced-motion:reduce){a.bnc-linkcard{transition:none!important;}}

/* v2.1.2: fill the visual column at every card height; avoid image-bottom gaps. */
.bnc-linkcard__visual{position:relative;overflow:hidden;align-self:stretch;}
.bnc-linkcard__visual > img{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;object-position:center;transform:none!important;}

/* v2.1.4: independent editor/other theme style for unified compact blog cards. */
.entry-content .bnc-linkcard, .editor-styles-wrapper .bnc-linkcard {
  width:min(100%,880px)!important; min-height:174px; display:grid!important;grid-template-columns:35% minmax(0,1fr)!important;
  border:2px solid #4f90c3!important;border-radius:14px!important;
  background:linear-gradient(125deg,#102f4a,#071d33)!important;color:#f4faff!important;
  transform:none!important;transition:border-color .2s ease,box-shadow .2s ease!important;
}
.entry-content .bnc-linkcard__visual, .editor-styles-wrapper .bnc-linkcard__visual {display:flex;align-items:center;justify-content:center;min-height:174px;position:relative;overflow:hidden;}
.entry-content .bnc-linkcard__visual > img, .editor-styles-wrapper .bnc-linkcard__visual > img {position:static!important;inset:auto!important;width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important;transform:none!important;}
.entry-content .bnc-linkcard__copy, .editor-styles-wrapper .bnc-linkcard__copy {color:#f4faff;gap:9px;}
.entry-content .bnc-linkcard__label, .editor-styles-wrapper .bnc-linkcard__label {color:#123650;background:#c8e4fa;display:inline-flex;border-radius:30px;padding:3px 11px;}
.entry-content .bnc-linkcard__title, .editor-styles-wrapper .bnc-linkcard__title {color:#f4faff!important;}
.entry-content .bnc-linkcard__excerpt {display:none!important;}
.entry-content .bnc-linkcard__meta, .editor-styles-wrapper .bnc-linkcard__meta {display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin-top:auto;line-height:1.5;}
.entry-content .bnc-linkcard__date, .entry-content .bnc-linkcard__domain, .editor-styles-wrapper .bnc-linkcard__date,.editor-styles-wrapper .bnc-linkcard__domain {color:#bad9f0;font-size:11px;}
@media (max-width:600px) {
 .entry-content .bnc-linkcard,.editor-styles-wrapper .bnc-linkcard {grid-template-columns:37% minmax(0,1fr)!important;min-height:116px;}
 .entry-content .bnc-linkcard__visual,.editor-styles-wrapper .bnc-linkcard__visual {min-height:116px;}
 .entry-content .bnc-linkcard__title,.editor-styles-wrapper .bnc-linkcard__title {font-size:12px;}
 .entry-content .bnc-linkcard__meta,.editor-styles-wrapper .bnc-linkcard__meta {font-size:10px;}
}
/* Accessible three-level TOC: clickable summary + nested family outlines. */
.entry-content details.bnc-toc {margin:1.8rem 0; padding:0; border:2px solid #c2dff3; border-radius:14px; background:#eff7fd; overflow:hidden;color:#173d5a;}
.entry-content .bnc-toc__summary {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;cursor:pointer;list-style:none;user-select:none;}
.entry-content .bnc-toc__summary::-webkit-details-marker {display:none;}
.entry-content .bnc-toc__title {margin:0;font-size:16px;font-weight:750;color:#123b59;}
.entry-content .bnc-toc__open-label,.entry-content .bnc-toc__closed-label {font-size:12px;font-weight:700;color:#176b9c;background:#fff;border:1px solid #add2ec;border-radius:25px;padding:4px 11px;white-space:nowrap;}
.entry-content details.bnc-toc[open] .bnc-toc__closed-label {display:none;}
.entry-content details.bnc-toc:not([open]) .bnc-toc__open-label {display:none;}
.entry-content .bnc-toc__summary:focus-visible {outline:3px solid #2688cf;outline-offset:-3px;}
.entry-content .bnc-toc__body {padding:0 20px 18px;border-top:1px solid #d3e5f3;}
.entry-content .bnc-toc__list {padding-left:0;margin:12px 0 0;list-style:none;counter-reset:none;}
.entry-content .bnc-toc__item {padding:0;margin:6px 0;border:0;line-height:1.65;}
.entry-content .bnc-toc__item > a {color:#175982;display:block;padding:4px 8px;font-size:14px;line-height:1.65;border-radius:6px;text-decoration:none;overflow-wrap:anywhere;}
.entry-content .bnc-toc__item > a:hover {background:#dfedfa;text-decoration:underline;}
.entry-content .bnc-toc__h1 > a {font-weight:800;color:#0d3b5b;}
.entry-content .bnc-toc__h2 > a {font-weight:700;}
.entry-content .bnc-toc__h3 > a {font-size:13px;font-weight:400;color:#456f88;}
.entry-content .bnc-toc__item > .bnc-toc__list {margin:3px 0 7px 12px;padding-left:13px;border-left:2px solid #b9d8ed;}
.entry-content h1[id^="bnc-h-"],.entry-content h2[id^="bnc-h-"],.entry-content h3[id^="bnc-h-"] {scroll-margin-top:6rem;}
@media(max-width:560px) { .entry-content .bnc-toc__summary {padding:13px 14px;} .entry-content .bnc-toc__body {padding:0 12px 13px;} .entry-content .bnc-toc__item > .bnc-toc__list {margin-left:6px;padding-left:10px;} }

/* v2.1.5: a text badge is always content-sized, never a stretched flex row. */
.entry-content .bnc-linkcard__label, .editor-styles-wrapper .bnc-linkcard__label, .bnc-linkcard__label {
  align-self: flex-start !important; flex: 0 0 auto !important;
  width: fit-content !important; max-width: 100%;
}

/* v2.1.7 manual ad units. */
.bnc-ad--sidebar{box-sizing:border-box;width:100%;min-height:290px;padding:13px;background:#f2f7fb;border:1px solid #e0eaf2;border-radius:12px;text-align:center;}
.bnc-ad--sidebar .bnc-ad__label{display:block;margin-bottom:10px;color:#52677b;font-size:11px;line-height:1.5;}
.bnc-ad--sidebar ins.adsbygoogle{width:100%;max-width:100%;min-height:250px;}
.entry-content .bnc-ad--middle{margin-block:30px;min-height:120px;}
@media(max-width:1199px){.bnc-ad--sidebar{display:none!important;}}
