/* CSBR Research Library front-end styles — v3.1.3
 * The library deliberately establishes its own high-contrast light surface so
 * that a dark or highly customised WordPress theme cannot make its text illegible.
 */
/* Critical theme-isolation rules. These selectors deliberately outrank the
 * Extendable theme's dark global colour rules on the Research page. */
body.csbr-research-page main,
body.csbr-research-page .wp-site-blocks main,
body.csbr-research-page .wp-block-post-content,
body.csbr-research-page .entry-content{
  background:var(--csbr-brand-white,#fff)!important;
  color:var(--csbr-brand-ink,#0b1220)!important;
  opacity:1!important;
}
body.csbr-research-page .wp-block-post-content>*,
body.csbr-research-page .entry-content>*{opacity:1!important}
body.csbr-research-page .csbr-library h1,
body.csbr-research-page .csbr-library h2,
body.csbr-research-page .csbr-library h3,
body.csbr-research-page .csbr-single h1,
body.csbr-research-page .csbr-single h2,
body.csbr-research-page .csbr-single h3{color:var(--csbr-brand-ink,#0b1220)!important;opacity:1!important}
body.csbr-research-page .csbr-library p,
body.csbr-research-page .csbr-single p{opacity:1!important}


.csbr-library,.csbr-single{
  --csbr-accent:#145e75;
  --csbr-ink:var(--csbr-brand-ink,#0b1220);
  --csbr-body:var(--csbr-brand-body,#374151);
  --csbr-muted:var(--csbr-brand-muted,#4b5563);
  --csbr-line:var(--csbr-brand-line,#cfd6de);
  --csbr-soft:var(--csbr-brand-soft,#f3f6f8);
  --csbr-white:var(--csbr-brand-white,#fff);
  color:var(--csbr-ink)!important;
  color-scheme:light;
}
.csbr-library{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(1rem,2.4vw,2rem) clamp(1rem,3vw,2.25rem) 4rem;
  background:var(--csbr-white)!important;
  border:1px solid var(--csbr-line);
  box-shadow:0 18px 45px rgba(0,0,0,.14);
  isolation:isolate;
}
.csbr-library *,.csbr-single *{box-sizing:border-box}
.csbr-library a,.csbr-single a{text-decoration-thickness:.08em;text-underline-offset:.15em}
.csbr-library a:focus-visible,.csbr-single a:focus-visible,.csbr-library button:focus-visible,.csbr-single button:focus-visible,.csbr-library input:focus-visible,.csbr-library select:focus-visible{
  outline:3px solid var(--csbr-site-focus,#facc15)!important;
  outline-offset:3px;
}
.csbr-library__intro{
  max-width:none;
  margin:0 0 2.5rem;
  padding:clamp(1.4rem,4vw,3rem);
  background:#eef4f6!important;
  border-left:6px solid var(--csbr-accent);
}
.csbr-library .csbr-library__intro h1{
  color:var(--csbr-ink)!important;
  opacity:1!important;
  font-size:clamp(2rem,5vw,4rem);
  line-height:1.04;
  letter-spacing:-.035em;
  margin:.35rem 0 1rem;
}
.csbr-library .csbr-library__intro>p:last-child{
  color:var(--csbr-body)!important;
  opacity:1!important;
  font-size:clamp(1.05rem,2vw,1.28rem);
  line-height:1.65;
  max-width:780px;
  margin-bottom:0;
}
.csbr-library .csbr-eyebrow,.csbr-library .csbr-meta-line,.csbr-single .csbr-meta-line{
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
  font-size:.76rem;
  line-height:1.4;
  color:var(--csbr-accent)!important;
  opacity:1!important;
  margin:0;
}
.csbr-featured{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(320px,1.3fr);
  border:1px solid var(--csbr-line);
  background:var(--csbr-white)!important;
  color:var(--csbr-ink)!important;
  margin:0 0 2.5rem;
  box-shadow:0 14px 35px rgba(17,24,39,.08);
}
.csbr-featured__media{min-height:360px;background:var(--csbr-soft);overflow:hidden}
.csbr-featured__media>a,.csbr-featured__media img{display:block;width:100%;height:100%}
.csbr-featured__media img{object-fit:cover}
.csbr-featured__content{padding:clamp(1.6rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}
.csbr-library .csbr-featured__content h2{
  color:var(--csbr-ink)!important;
  font-size:clamp(1.85rem,4vw,3.2rem);
  line-height:1.08;
  letter-spacing:-.03em;
  margin:.7rem 0 1rem;
}
.csbr-featured__content h2 a,.csbr-card h3 a{color:var(--csbr-ink)!important;text-decoration:none}
.csbr-featured__content h2 a:hover,.csbr-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--csbr-accent)}
.csbr-library .csbr-featured__content>p:not(.csbr-meta-line){color:var(--csbr-body)!important;opacity:1!important;line-height:1.65;font-size:1.06rem}
.csbr-cover-placeholder{display:flex;width:100%;height:100%;min-height:260px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:2rem;background:linear-gradient(145deg,#0b1220,#243447);color:var(--csbr-brand-white,#fff)!important}
.csbr-cover-placeholder span{font-size:.85rem;letter-spacing:.16em;font-weight:700}.csbr-cover-placeholder strong{font-size:clamp(1.6rem,4vw,3rem);line-height:1;margin-top:.5rem;max-width:90%;color:var(--csbr-brand-white,#fff)!important}
.csbr-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
.csbr-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:.75rem 1.15rem;border:2px solid var(--csbr-ink);font-weight:800;line-height:1.2;text-decoration:none!important;cursor:pointer;border-radius:2px}
.csbr-button--primary{background:var(--csbr-accent)!important;border-color:var(--csbr-accent)!important;color:var(--csbr-brand-white,#fff)!important}.csbr-button--primary:hover{filter:brightness(.85)}
.csbr-button--secondary{background:var(--csbr-brand-white,#fff)!important;color:var(--csbr-ink)!important}.csbr-button--secondary:hover{background:var(--csbr-soft)!important}
.csbr-filters{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:1rem;align-items:end;padding:1.25rem;background:var(--csbr-soft)!important;border:1px solid var(--csbr-line);margin:0 0 2.5rem;color:var(--csbr-ink)!important}
.csbr-filter label{display:block;color:var(--csbr-ink)!important;font-size:.82rem;font-weight:800;margin-bottom:.38rem}.csbr-filter input,.csbr-filter select{width:100%;min-height:46px;border:2px solid #7c8795;background:var(--csbr-brand-white,#fff)!important;padding:.6rem .7rem;font:inherit;color:var(--csbr-ink)!important;opacity:1!important}
.csbr-filter input::placeholder{color:#5b6472;opacity:1}
.csbr-results-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 1.2rem;border-bottom:2px solid var(--csbr-ink);padding-bottom:.7rem}
.csbr-library .csbr-results-header h2{color:var(--csbr-ink)!important;opacity:1!important;font-size:clamp(1.6rem,3vw,2.3rem);margin:0}
.csbr-results-header a{color:var(--csbr-accent)!important;font-weight:800}
.csbr-research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.csbr-card{display:flex;flex-direction:column;border:1px solid var(--csbr-line);background:var(--csbr-brand-white,#fff)!important;color:var(--csbr-ink)!important;min-width:0;transition:transform .18s ease,box-shadow .18s ease}.csbr-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(17,24,39,.1)}
.csbr-card__image{display:block;aspect-ratio:4/3;background:var(--csbr-soft);overflow:hidden;text-decoration:none}.csbr-card__image img{width:100%;height:100%;display:block;object-fit:cover}.csbr-card__image .csbr-cover-placeholder{min-height:100%;padding:1.4rem}.csbr-card__image .csbr-cover-placeholder strong{font-size:1.75rem}
.csbr-card__body{padding:1.35rem;display:flex;flex-direction:column;flex:1}.csbr-library .csbr-card h3{color:var(--csbr-ink)!important;font-size:1.35rem;line-height:1.23;letter-spacing:-.015em;margin:.55rem 0 .8rem}.csbr-library .csbr-card__excerpt{color:var(--csbr-body)!important;opacity:1!important;line-height:1.58;margin:0 0 1.2rem}.csbr-card__links{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--csbr-line)}.csbr-card__links a{font-weight:800;color:var(--csbr-accent)!important;text-decoration:none}.csbr-card__links a:hover{text-decoration:underline}
.csbr-empty-state{padding:3rem;border:1px dashed #7c8795;text-align:center;background:var(--csbr-soft)!important;color:var(--csbr-ink)!important}.csbr-empty-state h3,.csbr-empty-state p{color:inherit!important}
.csbr-pagination{margin:2.3rem 0 0}.csbr-pagination ul{list-style:none!important;padding:0!important;margin:0!important;display:flex;flex-wrap:wrap;gap:.4rem}.csbr-pagination a,.csbr-pagination span{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--csbr-line);padding:.45rem .7rem;text-decoration:none;color:var(--csbr-ink)!important;background:var(--csbr-brand-white,#fff)!important}.csbr-pagination .current{background:var(--csbr-accent)!important;border-color:var(--csbr-accent)!important;color:var(--csbr-brand-white,#fff)!important}
.csbr-single{max-width:850px;margin:0 auto;padding:2rem;box-sizing:border-box;background:var(--csbr-brand-white,#fff)!important;border:1px solid var(--csbr-line);box-shadow:0 14px 35px rgba(0,0,0,.1)}
.csbr-back-link{display:inline-block;margin:0 0 1.5rem;color:var(--csbr-accent)!important;font-weight:800;text-decoration:none}.csbr-single__meta{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:var(--csbr-accent)!important;border-top:2px solid var(--csbr-ink);padding-top:1rem}.csbr-single__standfirst{font-size:clamp(1.2rem,2.5vw,1.55rem);line-height:1.55;color:var(--csbr-body)!important;margin:1.4rem 0}.csbr-publication-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.6rem 0;padding:1.2rem;background:var(--csbr-soft)!important;border:1px solid var(--csbr-line);color:var(--csbr-ink)!important}.csbr-publication-details div{min-width:0}.csbr-publication-details dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--csbr-muted)!important}.csbr-publication-details dd{margin:.3rem 0 0;font-weight:600;color:var(--csbr-ink)!important}.csbr-single__download{margin:1.4rem 0 2rem}.csbr-single__content{font-size:1.05rem;line-height:1.72;color:var(--csbr-body)!important}.csbr-single__content h2,.csbr-single__content h3{color:var(--csbr-ink)!important}.csbr-single__content h2{margin-top:2.2rem}.csbr-download-panel{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:3rem 0 0;padding:1.5rem;border-top:3px solid var(--csbr-accent);background:var(--csbr-soft)!important;color:var(--csbr-ink)!important}.csbr-download-panel h2,.csbr-download-panel p{margin:.2rem 0;color:inherit!important}
@media (max-width:900px){.csbr-research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.csbr-filters{grid-template-columns:1fr 1fr}.csbr-filter--search{grid-column:1/-1}.csbr-featured{grid-template-columns:1fr 1.25fr}.csbr-featured__media{min-height:300px}}
@media (max-width:640px){.csbr-library{padding-left:.75rem;padding-right:.75rem}.csbr-library__intro{padding:1.25rem;border-left-width:4px}.csbr-featured{grid-template-columns:1fr}.csbr-featured__media{min-height:240px;max-height:380px}.csbr-featured__content{padding:1.4rem}.csbr-filters{grid-template-columns:1fr}.csbr-filter--search{grid-column:auto}.csbr-research-grid{grid-template-columns:1fr}.csbr-results-header{align-items:flex-start;flex-direction:column}.csbr-publication-details{grid-template-columns:1fr}.csbr-download-panel{align-items:flex-start;flex-direction:column}.csbr-actions .csbr-button,.csbr-filters .csbr-button{width:100%}.csbr-single{padding:1rem}}
@media (prefers-reduced-motion:reduce){.csbr-card{transition:none}}
@media (forced-colors:active){.csbr-library,.csbr-single,.csbr-featured,.csbr-card,.csbr-filters{border:1px solid CanvasText}.csbr-button{border:2px solid ButtonText}}

/* v3.1.3: the Research hero spans the viewport; listings remain readable. */
body.csbr-page-research .csbr-library{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 4rem!important;border:0!important;box-shadow:none!important}
body.csbr-page-research .csbr-library__intro{width:100%!important;max-width:none!important;margin:0 0 3rem!important;border-left:0!important}
body.csbr-page-research .csbr-featured{width:min(1240px,calc(100% - 2rem))!important;margin:0 auto 2.5rem!important}
body.csbr-page-research .csbr-filters{width:min(1240px,calc(100% - 2rem))!important;margin:0 auto 2.5rem!important}
body.csbr-page-research .csbr-results-header{width:min(1240px,calc(100% - 2rem))!important;margin:0 auto 1.2rem!important}
body.csbr-page-research .csbr-research-grid{width:min(1240px,calc(100% - 2rem))!important;margin:0 auto!important}
body.csbr-page-research .csbr-pagination{width:min(1240px,calc(100% - 2rem))!important;margin:2.3rem auto 0!important}

/* v3.1.3: guarantee that the featured publication primary-button label remains visible. */
.csbr-library .csbr-featured .csbr-actions a.csbr-button.csbr-button--primary.csbr-featured-read-button,
.csbr-library .csbr-featured .csbr-actions a.csbr-button.csbr-button--primary.csbr-featured-read-button span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
