/* Blog-specific styles */

.blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
  gap:2rem;
  padding:1rem 0;
}

.article-card{
  background-color:#2a2a2a;
  border-radius:var(--section-border-radius);
  overflow:hidden;
  transition:transform 0.2s ease;
}

.article-card:hover{
  transform:translateY(-4px);
}

.article-card .card-thumbnail{
  width:100%;
  height:180px;
  background-color:#333;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#888;
  font-size:0.85rem;
}

.article-card .card-thumbnail-img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}

.article-card .card-body{
  padding:1.25rem;
}

.article-card h3{
  font-style:normal;
  font-weight:500;
  margin:0 0 0.5rem;
  font-size:1.1rem;
}

.article-card h3 a{
  color:var(--secondary);
  text-decoration:none;
}

.article-card h3 a:hover{
  color:var(--contrast);
}

.article-card .card-meta{
  font-size:0.8rem;
  color:#999;
  margin:0 0 0.75rem;
}

.article-card .card-excerpt{
  font-size:0.9rem;
  line-height:1.5;
  color:#ccc;
}

/* Article page styles */
.breadcrumb{
  font-size:0.85rem;
  margin-bottom:1.5rem;
  color:#999;
}

.breadcrumb a{
  color:var(--contrast);
  text-decoration:none;
}

.breadcrumb a:hover{
  text-decoration:underline;
}

.article-header{
  margin-bottom:2rem;
}

.article-meta{
  font-size:0.85rem;
  color:#999;
  margin:0.5rem 0 1.5rem;
}

.article-body{
  line-height:1.8;
  font-size:1rem;
}

.article-body h2{
  margin-top:2rem;
}

.article-body p{
  margin:1rem 0;
}

.related-articles{
  border-top:1px solid #444;
  margin-top:3rem;
  padding-top:2rem;
}

.related-articles h2{
  font-size:1.3rem;
}

/* Author meta link in cards */
.article-card .card-meta a{
  color:inherit;
}

.article-card .card-meta a:hover{
  color:var(--contrast);
}

/* Author bio block on article pages */
.author-bio{
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  border-top:1px solid #444;
  margin-top:3rem;
  padding-top:2rem;
}

.author-bio-avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
}

.author-bio-avatar[data-placeholder]{
  background-color:#444;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#aaa;
  font-size:1.25rem;
  font-weight:500;
}

.author-bio-details{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.author-bio-name{
  font-weight:500;
  font-size:1rem;
  color:var(--secondary);
  text-decoration:none;
}

.author-bio-name:hover{
  color:var(--contrast);
}

.author-bio-name:after{
  display:none;
}

.author-bio-role{
  font-size:0.85rem;
  color:#999;
}

.author-bio-links{
  display:flex;
  gap:0.75rem;
  flex-wrap:wrap;
  margin-top:0.25rem;
}

.author-bio-links a{
  font-size:0.8rem;
}

/* Author name link in article meta */
.article-meta a{
  color:inherit;
  text-decoration:none;
}

.article-meta a:hover{
  color:var(--contrast);
}

.article-meta a:after{
  display:none;
}

/* ── Citation system ──────────────────────────────────────── */

/* Inline superscript marker [1] */
.cite-marker{
  font-size:0.72em;
  line-height:0;
  vertical-align:super;
  margin:0 1px;
}

.cite-marker a{
  color:var(--contrast);
  text-decoration:none;
  font-weight:500;
}

.cite-marker a:hover,
.cite-marker a:focus{
  text-decoration:underline;
}

/* No external-link arrow on anchor-only citation links */
.cite-marker a:after{
  display:none;
}

/* References section */
.article-references{
  border-top:1px solid #444;
  margin-top:3rem;
  padding-top:2rem;
}

.article-references > h2{
  font-size:1.1rem;
  font-weight:500;
  margin-bottom:1rem;
}

.article-references ol{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0.65rem;
}

.article-references li{
  display:flex;
  gap:0.6rem;
  font-size:0.88rem;
  line-height:1.6;
}

.cite-ref-num{
  flex-shrink:0;
  color:var(--contrast);
  font-weight:500;
  min-width:1.6rem;
}

.cite-ref-content{
  flex:1;
}

.cite-back-links{
  display:inline;
  margin-left:0.4em;
  color:#888;
  white-space:nowrap;
}

.cite-back-links a{
  color:#888;
  font-size:0.85em;
  text-decoration:none;
}

.cite-back-links a:hover{
  color:var(--contrast);
}

/* Suppress external-link arrow on back-links and reference DOI links */
.cite-back-links a:after,
.article-references a:after{
  display:none;
}

/* Hover/focus tooltip */
.cite-tooltip{
  position:fixed;
  background:#1e1e2e;
  border:1px solid #555;
  border-radius:6px;
  padding:0.55rem 0.8rem;
  font-size:0.82rem;
  line-height:1.5;
  max-width:min(420px, calc(100vw - 32px));
  z-index:9999;
  box-shadow:0 4px 16px rgba(0,0,0,0.55);
  color:#ccc;
  pointer-events:none;
}

.cite-tooltip[hidden]{
  display:none;
}
