/* NOTE: the rules in this block target Bulma's .navbar classes, which the
   ananke theme does not use (its header markup is Tachyons-based). They have
   never had any effect and are kept only to avoid changing appearance
   unintentionally — safe to delete. */

/* Header background */
nav.navbar {
  background-color: #ffeb3b !important; /* bright yellow */
  padding-top: 0.3rem !important;
  padding-bottom: 0.3rem !important;
}

/* Shrink menu text and padding */
.navbar .navbar-item {
  color: #333 !important;
  font-size: 0.9rem !important;
  padding: 0.2rem 0.75rem !important;
}

/* Shrink the logo image */
.navbar-brand img {
  max-height: 30px !important;
}

/* Optional: Style Blog/Home buttons */
.navbar .navbar-item.is-button,
.navbar .navbar-item.button-like {
  background-color: #ffa000 !important;
  border-radius: 4px;
  color: white !important;
  margin-left: 6px !important;
}
.navbar .navbar-item.is-button:hover {
  background-color: #ff8f00 !important;
}

/* ---------------------------------------------------------------
   Home page: curated featured cards (see layouts/index.html)
   --------------------------------------------------------------- */

/* The home page sets a full-bleed photo as the body background, so this
   section needs its own opaque panel or the text sits straight on the image
   and is unreadable. Matches the intro .overlay box in content/_index.md. */
.yb-panel {
  max-width: 960px;
  margin: 2rem auto 4rem;
  padding: 2.25rem 2.25rem 2.5rem;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  box-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
}

.yb-heading {
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a8a8a;
  font-weight: 600;
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e6e6e6;
}
.yb-heading:first-child {
  margin-top: 0;
}

.yb-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.yb-card:hover,
.yb-card:focus {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.yb-card-img {
  display: block;
  background-size: cover;
  background-position: center;
  background-color: #efefef;
  min-height: 160px;
  flex-shrink: 0;
}

.yb-card-body {
  display: block;
  padding: 1.1rem 1.25rem 1.35rem;
}

.yb-chip {
  display: inline-block;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: #7a5c00;
  background: #ffeb3b;
  padding: 0.2rem 0.55rem;
  border-radius: 3px;
  margin-bottom: 0.6rem;
}

.yb-card-title {
  display: block;
  font-size: 1.15rem;
  line-height: 1.3;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 0.45rem;
}

.yb-card-desc {
  display: block;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #555;
}

/* Lead card: image beside the text on wide screens */
.yb-card--lead {
  margin-bottom: 0.5rem;
}
.yb-card--lead .yb-card-title {
  font-size: 1.45rem;
}

.yb-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

@media screen and (min-width: 700px) {
  .yb-card--lead {
    flex-direction: row;
    align-items: stretch;
  }
  .yb-card--lead .yb-card-img {
    width: 40%;
    min-height: 210px;
  }
  .yb-card--lead .yb-card-body {
    width: 60%;
    align-self: center;
    padding: 1.5rem 1.75rem;
  }
}

@media screen and (max-width: 640px) {
  .yb-panel {
    padding: 1.25rem 1.1rem 1.75rem;
    margin-bottom: 2rem;
  }
  .yb-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Compact recent-posts list */
.yb-recent {
  list-style: none;
  margin: 0;
  padding: 0;
}
.yb-recent li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid #f0f0f0;
}
.yb-recent a {
  color: #1a1a1a;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 2px solid transparent;
}
.yb-recent a:hover {
  border-bottom-color: #ffeb3b;
}
.yb-recent time {
  font-size: 0.8rem;
  color: #999;
  white-space: nowrap;
}
.yb-more {
  margin-top: 1rem;
  font-size: 0.9rem;
}
.yb-more a {
  color: #7a5c00;
  font-weight: 600;
}

/* Publications page: inline link rows under each entry */
.yb-links {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.9rem;
  color: #999;
}
.yb-links a {
  color: #7a5c00;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(122, 92, 0, 0.3);
}
.yb-links a:hover {
  border-bottom-color: #7a5c00;
}

/* Research code-repository callout */
.yb-repo {
  display: block;
  margin: 2rem 0;
  padding: 0.9rem 1.15rem;
  border: 1px solid #e6e6e6;
  border-left: 4px solid #ffeb3b;
  border-radius: 6px;
  background: #fcfcfc;
  font-size: 0.95rem;
}
.yb-repo strong {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a8a8a;
  margin-bottom: 0.3rem;
}
