/* Quiet visual rhythm for the searchable library and the new Luangta series. */
body:has(.luangta-library),
body:has(.series-article) {
  background: #fcfdf9;
  color: #284333;
}

body:has(.luangta-library) .container > header,
body:has(.series-article) .container > header {
  border-bottom: 1px solid #dce7db;
  color: #294735;
}
body:has(.luangta-library) .container > header nav a,
body:has(.series-article) .container > header nav a { color: #3d5a47; }
body:has(.luangta-library) .container > footer,
body:has(.series-article) .container > footer { color: #58705e; }

.luangta-library { color: #294333; }
.library-hero {
  background: #f0f5ee;
  border: 1px solid #e1e9df;
}
.library-hero > img { filter: saturate(.82) brightness(1.05); }
.library-hero h2,
.library-results h2 { color: #294735; }
.library-hero-copy > p:not(.library-eyebrow) { color: #4d6252; }
.library-stats dt { color: #2e5039; }
.library-stats dd { color: #58705e; }
.library-tools { border-color: #dce7db; }
.library-search label { color: #405b49; }
.search-row input {
  border-color: #cbdaca;
  background: #fff;
  border-radius: 2px;
}
.search-row button {
  background: #3b6048;
  border-color: #3b6048;
  border-radius: 2px;
}
.search-row button:hover { background: #2c503a; }
.category-links { gap: .65rem; }
.category-links a {
  border-color: #d5e1d4;
  border-radius: 999px;
  background: #fff;
  color: #405b49;
  padding-inline: 1rem;
}
.category-links a.active,
.category-links a:hover {
  border-color: #86a28a;
  background: #e7f0e5;
  color: #254431;
}
.category-links a.active span,
.category-links a:hover span {
  background: #d4e4d3;
  color: #294a35;
}
.library-results { padding-top: 4rem; }
.result-heading > p { color: #5a6f5d; }
.article-group {
  border: 0;
  border-top: 1px solid #dce6da;
  background: transparent;
  margin-bottom: 0;
}
.article-group:last-of-type { border-bottom: 1px solid #dce6da; }
.article-group > summary {
  padding: 1.35rem 0;
  color: #294735;
}
.article-group[open] > summary {
  background: transparent;
  border-bottom: 0;
}
.article-group > summary span:not(strong) { color: #5b705f; }
.article-grid {
  gap: 20px;
  background: transparent;
  padding: 0 0 30px;
}
.library-card {
  border: 1px solid #e0e9df;
  background: #fff;
}
.card-image { background: #eaf0e9; }
.card-image img { filter: saturate(.86); }
.card-copy { padding: 1.45rem 1.45rem 1.6rem; }
.library-card h3 { color: #294735; line-height: 1.6; }
.library-card p { color: #536959; line-height: 1.85; }
.read-link { color: #326446; }

.series-article { max-width: 760px; }
.series-article .dhamma-title { color: #294735; line-height: 1.6; }
.series-figure { margin: 2.6rem auto 3rem; }
.series-figure img { border-radius: 2px; filter: saturate(.86); }
.series-body { color: #334d3b; line-height: 2.05; }
.series-body > p { color: #455d4c; }
.series-lead { color: #34553f !important; }
.series-reflection {
  background: #f0f5ee;
  border-color: #91a68c;
  color: #34523e;
  padding: 1.8rem 2rem;
}
.series-practice { color: #405a47; }
.series-article-nav { border-color: #dce6da; }
.series-article-nav a { color: #2b6343; }
.series-source {
  margin-top: 2.2rem;
  padding-top: 1.25rem;
  border-top: 1px solid #dce6da;
  color: #607365 !important;
  font-size: .88rem;
  line-height: 1.85;
}
.series-source a { color: #2b6343; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 600px) {
  body:has(.luangta-library) .container > header nav ul,
  body:has(.series-article) .container > header nav ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 1rem;
    overflow: visible;
    white-space: normal;
    padding-bottom: 0;
  }
  body:has(.luangta-library) .container > header nav a,
  body:has(.series-article) .container > header nav a {
    min-height: 36px;
    font-size: .82rem;
  }
  .library-hero { grid-template-columns: minmax(0, 1fr); }
  .library-hero-copy { min-width: 0; padding: 2.2rem 1.4rem 2.4rem; }
  .library-tools { padding-top: 3rem; }
  .library-results { padding-top: 3rem; }
  .article-group > summary { padding: 1.3rem .2rem; }
  .article-grid { gap: 18px; padding-bottom: 24px; }
  .card-copy { padding: 1.3rem 1.3rem 1.45rem; }
  .series-figure { margin: 2rem auto 2.4rem; }
  .series-reflection { padding: 1.4rem; }
}
