/* Release 09.4: directory navigation; isolated from article layouts. */
.guide-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 24px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.guide-tools a {
  display: block;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #87978c;
  color: var(--forest);
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  min-height: 44px;
}
.guide-tools a:hover {
  background: var(--forest);
  color: #fff;
}
.guide-topic {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0 0;
}
.guide-topic label {
  margin: 0;
}
.guide-topic select {
  font: inherit;
  max-width: 100%;
  min-height: 46px;
  padding: 10px 36px 10px 12px;
  border: 1px solid #6a7770;
  color: var(--ink);
  background: #fff;
}
.search-empty p {
  margin: 0 0 14px;
}
.search-empty button {
  padding: 12px 16px;
  background: var(--forest);
  color: white;
  border: 1px solid var(--forest);
  font: inherit;
  cursor: pointer;
  min-height: 44px;
}
.search-empty button[hidden] {
  display: none;
}
.guide-card {
  min-height: 280px;
}
.guide-card h2 {
  font-size: 28px;
}
.guide-card small {
  font-size: 13px;
}
.guide-search:focus-within {
  scroll-margin-top: 90px;
}
@media (max-width: 540px) {
  .guide-tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .guide-tools a {
    font-size: 14px;
    padding: 10px;
  }
  .guide-topic {
    display: block;
  }
  .guide-topic select {
    width: 100%;
    margin-top: 8px;
  }
  .guide-card {
    min-height: 0;
  }
  .search-row button {
    width: 100%;
  }
}

/* Release 09.19: reading route, separate from searchable article cards. */
.guide-route-jump { margin: 0 0 20px; font-size: 1rem; }
.guide-route-jump a, .guide-route a { color: var(--forest); text-underline-offset: .2em; overflow-wrap: anywhere; }
.guide-route { margin-top: 4rem; padding-top: 2rem; border-top: 2px solid var(--forest); scroll-margin-top: 6rem; }
.guide-route header { max-width: 48rem; }
.guide-route h2 { font: 700 2.25rem/1.15 Georgia,serif; margin: .7rem 0 1rem; }
.guide-route p { font-size: 1rem; line-height: 1.6; }
.guide-route-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; padding: 0; list-style: none; }
.guide-route-steps > li { min-width: 0; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.guide-route .guide-route-step { font: 700 .875rem/1.5 Arial,sans-serif; margin: 0 0 .6rem; }
.guide-route h3 { font: 700 1.5rem/1.25 Georgia,serif; margin: 0 0 .75rem; }
.guide-route-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.guide-route-links a { padding: .3rem 0; }
.guide-route-note { border-left: 3px solid var(--forest); padding: .6rem 1rem; }
.guide-route .guide-route-print { font-size: .875rem; }
.guide-route a:focus-visible, .guide-route-jump a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
#guide-results { scroll-margin-top: 6rem; }
@media (max-width: 700px) { .guide-route-steps { grid-template-columns: 1fr; } }
@media print {
  .guide-directory .site-header, .guide-directory .breadcrumb, .guide-directory .site-footer,
  .guide-directory .guide-index > :not(.guide-route), .guide-route-back { display: none !important; }
  .guide-directory, .guide-directory .guide-index { background: #fff; color: #111; width: auto; max-width: none; padding: 0; margin: 0; }
  .guide-route { margin: 0; padding: 0; border: 0; }
  .guide-route-steps { display: block; }
  .guide-route-steps > li { break-inside: avoid; padding: .5rem 0; }
  .guide-route h2 { font-size: 22pt; }
  .guide-route h3 { font-size: 14pt; }
  .guide-route p, .guide-route a { font-size: 10pt; color: #111; }
}
