/* ============================================================
   BiomedTree — Clinical theme (site-wide layer)
   Loaded after Bootstrap + style_main.css so it wins.
   Navy institutional palette, Inter, square corners, hairlines.
   ============================================================ */
:root{
  --ct-navy:#1e4d8a;
  --ct-navy-d:#183f73;
  --ct-wash:#e7eef7;
  --ct-line:#dde2e8;
  --ct-ink:#182028;
  --ct-muted:#5a6472;
}

/* ---- base type ---- */
body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ct-ink);}
h1,h2,h3,h4,h5,h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-family:Inter,system-ui,-apple-system,sans-serif;letter-spacing:-.01em;
}
a{color:var(--ct-navy);}
a:hover{color:var(--ct-navy-d);}
.text-muted{color:var(--ct-muted)!important;}

/* ---- shared navbar (Bootstrap markup, restyled) ---- */
.navbar.bg-light{background:#fff!important;border-bottom:3px solid var(--ct-navy);box-shadow:none!important;}
.navbar .navbar-collapse.bg-light{background:#fff!important;}
.navbar .nav-link{font-size:.78rem!important;font-weight:600!important;letter-spacing:.05em;text-transform:uppercase;color:var(--ct-ink)!important;}
.navbar .nav-link:hover,.navbar ul li a:hover{color:var(--ct-navy)!important;text-decoration:none!important;}
.navbar ul li a.active{color:var(--ct-navy)!important;text-decoration:none!important;}
.dropdown-menu{border-radius:0!important;border:1px solid var(--ct-line)!important;box-shadow:0 10px 24px -12px rgba(15,39,68,.35)!important;}
.dropdown-item{font-size:.9rem;}
.dropdown-item:hover{background:var(--ct-wash);color:var(--ct-navy);}
.dropdown-item:active,.dropdown-item.active{background:var(--ct-navy);color:#fff;}

/* ---- placeholder wordmark logo (navbar + footer) ---- */
.ct-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:1.15rem;letter-spacing:.02em;color:var(--ct-ink)!important;}
.ct-brand:hover{color:var(--ct-navy)!important;}
.ct-logo-sq{width:26px;height:26px;flex:0 0 26px;background:var(--ct-navy);display:inline-block;}
.ct-brand-light{color:#fff!important;}
.ct-brand-light .ct-logo-sq{background:#fff;}
.ct-brand-light:hover{color:#c5d5ea!important;}

/* ---- buttons: map every variant used site-wide to clinical ---- */
.btn{border-radius:0!important;font-weight:600;letter-spacing:.02em;}
.btn-danger,.btn-primary,.btn-navyblue,.btn-values,.btn-orange,.btn-dark,
.btn-login.btn-danger{
  background:var(--ct-navy)!important;border:1px solid var(--ct-navy)!important;color:#fff!important;
}
.btn-danger:hover,.btn-primary:hover,.btn-navyblue:hover,.btn-values:hover,.btn-orange:hover,.btn-dark:hover,
.btn-login.btn-danger:hover{
  background:var(--ct-navy-d)!important;border-color:var(--ct-navy-d)!important;color:#fff!important;
}
.btn-outline-secondary,.btn-outline-dark,.btn-outline-primary,.btn-login{
  background:#fff!important;color:var(--ct-navy)!important;border:1px solid var(--ct-line)!important;
}
.btn-outline-secondary:hover,.btn-outline-dark:hover,.btn-outline-primary:hover,.btn-login:hover{
  background:var(--ct-wash)!important;color:var(--ct-navy)!important;border-color:var(--ct-navy)!important;
}
.btn-carousel-scope{border-radius:0!important;border:1px solid #fff!important;color:#fff!important;background:transparent!important;}
.btn-carousel-scope:hover{background:#fff!important;color:var(--ct-navy)!important;}

/* ---- cards ---- */
.card{border-radius:0!important;border:1px solid var(--ct-line)!important;box-shadow:none!important;}
.shadow-sm,.shadow{box-shadow:none!important;}
.article-index-card .card{background:#fff!important;border-radius:0!important;}
.article-index-card .card:hover{box-shadow:0 6px 18px -10px rgba(15,39,68,.4)!important;border-color:var(--ct-navy)!important;}
.card-title a,.card-title{color:var(--ct-ink);}
.card-journal-name{color:var(--ct-navy);}

/* ---- badges / category tags ---- */
.badge{border-radius:0!important;font-weight:700!important;letter-spacing:.05em;text-transform:uppercase;padding:.34em .62em;}
.badge.bg-secondary,.bg-secondary.badge,.badge.bg-primary,.badge.bg-dark{
  background:var(--ct-wash)!important;color:var(--ct-navy)!important;
}

/* ---- pagination ---- */
.page-link{color:var(--ct-navy);border-radius:0!important;border-color:var(--ct-line);}
.page-link:hover{background:var(--ct-wash);color:var(--ct-navy-d);}
.page-item.active .page-link{background:var(--ct-navy);border-color:var(--ct-navy);color:#fff;}

/* ---- forms ---- */
.form-control,.form-select{border-radius:0!important;border-color:var(--ct-line);}
.form-control:focus,.form-select:focus{border-color:var(--ct-navy);box-shadow:0 0 0 .2rem rgba(30,77,138,.18);}

/* ---- sidebars (article index / journal pages) ---- */
.sidebar-block{border-radius:0!important;border:1px solid var(--ct-line)!important;background:var(--ct-wash)!important;}
.sidebar-block a{color:var(--ct-ink)!important;text-decoration:none;}
.sidebar-block a:hover{color:var(--ct-navy)!important;}

/* ---- bespoke colored section headers -> clinical ---- */
.editorialpolicy-heading,.reviewer-heading{background:var(--ct-navy)!important;color:#fff!important;}
/* .text-slategrey is a heading on light backgrounds; text-orange/gold/bluesky sit on
   dark hero photos, so leave those alone to keep contrast. */
.text-slategrey{color:var(--ct-navy)!important;}
/* full-bleed journal/about heroes: navy base instead of pure black */
.cover-aims,.cover-mission{background-color:var(--ct-navy)!important;}
/* journal hero was a fixed 850px full-screen block; make it a compact band */
.cover-aims{height:auto!important;min-height:0!important;margin-top:0!important;padding-top:96px!important;padding-bottom:56px!important;}
.values_icon{background:var(--ct-wash)!important;border-radius:0!important;}
.values{border-radius:0!important;background:var(--ct-wash)!important;}
.values:hover{background:#dbe5f1!important;}

/* ---- footer (Bootstrap markup, restyled) ---- */
.footer-bg{background:#0f2744!important;}
.footer-social-bg{background:#0b1f38!important;}
.footer-bg h5{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8fb0d6!important;}
.footer-links a,.footer-brand ul,.footer-bg .text-white{color:#c5d5ea!important;}
.footer-links a:hover{color:#fff!important;}
.footer-social-links a{color:#8fb0d6;}
.footer-social-links a:hover{color:#fff;}
/* undo a stray global ".text-center{margin-left:30px}" that pushed the footer
   off-screen on mobile, and let footer links wrap instead of nowrap */
.footer-bg .container{margin-left:auto!important;margin-right:auto!important;}
.footer-bg .dropdown-item{white-space:normal!important;}

/* ---- accessible focus ring (site-wide) ---- */
a:focus-visible,.btn:focus-visible,.nav-link:focus-visible,.form-control:focus-visible{
  outline:2px solid var(--ct-navy);outline-offset:2px;
}

/* in-page anchor jumps (article Page Navigation, doc TOCs) must clear the
   fixed navbar — all anchor targets here are headings */
h1,h2,h3,h4,h5,h6{scroll-margin-top:70px;}

/* article share buttons: logo-only, no button box, brand colors */
.share-icon-link{display:inline-block;font-size:1.35rem;margin-right:.85rem;opacity:.85;}
.share-icon-link:hover{opacity:1;}
.share-icon-link:last-child{margin-right:0;}
.share-icon-link.share-facebook{color:#1877f2;}
.share-icon-link.share-x{color:#000;}
.share-icon-link.share-linkedin{color:#0a66c2;}

/* article page: keep the sidebar (Download PDF, page nav, cite, share) in view
   while scrolling the article. Desktop only — on mobile it stacks below. */
@media(min-width:992px){
  .article-sidebar{
    position:sticky;top:70px;align-self:flex-start;
    /* taller than the viewport? scroll inside the sidebar instead of clipping */
    max-height:calc(100vh - 84px);overflow-y:auto;
  }
}

/* tables in article bodies (Wagtail table_block) and doc pages — clinical look:
   hairline borders, navy header row, zebra rows. Scrolls on narrow screens. */
.article-body table,.ct-doc table{
  width:100%;border-collapse:collapse;margin:6px 0 22px;font-size:.95rem;
  display:block;overflow-x:auto;
}
.article-body th,.article-body td,.ct-doc th,.ct-doc td{
  border:1px solid var(--ct-line);padding:8px 12px;text-align:left;vertical-align:top;
}
.article-body thead th,.ct-doc thead th,
.article-body tr:first-child th,.ct-doc tr:first-child th{
  background:var(--ct-navy);color:#fff;font-weight:700;
}
.article-body tbody tr:nth-child(even),.ct-doc tbody tr:nth-child(even){
  background:var(--ct-wash);
}
.article-body table caption,.ct-doc table caption{
  caption-side:top;text-align:left;font-weight:700;color:var(--ct-ink);padding:6px 0;
}

/* ============================================================
   Static content / policy pages — shared clinical prose layer.
   Rebuild any marketing/policy page body with these classes:
   .ct-doc-head (title band) + .ct-doc (prose column).
   ============================================================ */
/* top padding clears the fixed navbar (position:fixed, ~51px) so the eyebrow
   isn't hidden behind it */
.ct-doc-head{background:var(--ct-wash);border-bottom:1px solid var(--ct-line);padding:92px 20px 48px;}
.ct-doc-head-in{max-width:820px;margin:0 auto;padding:0 20px;}
.ct-doc-head .ct-eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ct-muted);margin-bottom:10px;}
.ct-doc-head h1{font-size:2.3rem;font-weight:800;letter-spacing:-.02em;line-height:1.14;margin:0 0 12px;color:var(--ct-ink);}
.ct-doc-head p{color:var(--ct-muted);font-size:1.05rem;max-width:66ch;margin:0;}

.ct-doc{max-width:820px;margin:0 auto;padding:42px 20px 66px;color:var(--ct-ink);line-height:1.65;}
.ct-doc>section{margin-bottom:36px;}
.ct-doc h2{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ct-navy);color:var(--ct-ink);}
.ct-doc h3{font-size:1.02rem;font-weight:700;margin:20px 0 8px;color:var(--ct-navy);}
.ct-doc p{margin:0 0 14px;}
.ct-doc ul{margin:0 0 14px;padding-left:22px;list-style:disc;}
.ct-doc ol{margin:0 0 14px;padding-left:22px;list-style:decimal;}
.ct-doc li{margin:0 0 7px;display:list-item;}
.ct-doc a{color:var(--ct-navy);font-weight:600;text-decoration:none;}
.ct-doc a:hover{text-decoration:underline;}
.ct-doc-lead{font-size:1.08rem;color:var(--ct-muted);margin-bottom:26px;}
.ct-doc-meta{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ct-muted);margin-bottom:22px;}

/* callout / spotlight / jump-list box */
.ct-callout{border:1px solid var(--ct-line);border-left:4px solid var(--ct-navy);background:var(--ct-wash);padding:16px 20px;margin:0 0 28px;}
.ct-callout>h3{margin-top:0;}
.ct-callout ul{margin-bottom:0;}
.ct-callout.ct-cols ul{columns:2;column-gap:26px;}

/* contact cards */
.ct-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:6px 0 8px;}
.ct-contact-card{border:1px solid var(--ct-line);padding:20px 22px;}
.ct-contact-card .role{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-navy);margin-bottom:7px;}
.ct-contact-card .name{font-weight:700;font-size:1.06rem;margin-bottom:3px;}
.ct-contact-card .aff{color:var(--ct-muted);font-size:.9rem;margin-bottom:8px;}

/* journal editorial-board list (Bootstrap resets strip list styling here) */
.journal-board p{font-weight:700;font-size:1.1rem;color:var(--ct-navy);margin:22px 0 10px;}
.journal-board p:first-child{margin-top:0;}
.journal-board ul{list-style:disc;padding-left:22px;margin:0 0 8px;}
.journal-board li{display:list-item;margin:0 0 8px;}

/* journal prose blocks (aims & scope, quick facts) — restore bullets Bootstrap strips */
.journal-prose ul{list-style:disc;padding-left:22px;margin:0 0 16px;}
.journal-prose li{display:list-item;margin:0 0 7px;}
.journal-prose p{margin:0 0 14px;}

@media(max-width:640px){
  .ct-doc-head h1{font-size:1.8rem;}
  .ct-callout.ct-cols ul{columns:1;}
}
