.guide-card:focus-visible, .guide-breadcrumb a:focus-visible, .guide-index a:focus-visible, .guide-neighbours a:focus-visible { outline: 3px solid var(--forest-3); outline-offset: 3px; }
.guide-detail-shell { max-width: 78rem; }
.guide-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-bottom: 1.5rem; color: var(--muted); font-size: .9rem; }
.guide-breadcrumb a { color: var(--forest); font-weight: 750; }
.guide-layout { display: grid; grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr); align-items: start; gap: clamp(1.3rem, 4vw, 3rem); }
.guide-index { position: sticky; top: 8.5rem; display: flex; flex-direction: column; gap: .75rem; border: 1px solid var(--line); border-radius: 1rem; padding: 1.25rem; background: #fff; }
.guide-index strong { color: var(--forest); }
.guide-index ol { margin: .1rem 0 .4rem; padding-left: 1.25rem; }
.guide-index li { margin: .5rem 0; }
.guide-index a { color: var(--forest); font-size: .87rem; line-height: 1.4; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.guide-article { min-width: 0; border: 1px solid var(--line); border-radius: 1.15rem; padding: clamp(1.4rem, 4vw, 3rem); background: white; }
.guide-article h2, .guide-locked h2 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(1.65rem, 2.8vw, 2.25rem); font-weight: 500; line-height: 1.15; }
.guide-article p, .guide-locked p { color: #405d53; line-height: 1.75; }
.guide-scope { margin: 0; border-left: .28rem solid var(--gold); padding: .85rem 1rem; background: #fff8e8; }
.guide-step, .guide-checks, .guide-traps, .guide-sources { scroll-margin-top: 9rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.guide-step p:last-child { margin-bottom: 0; }
.guide-checks ul, .guide-traps ul, .guide-sources ul { padding-left: 1.3rem; line-height: 1.7; }
.guide-checks li, .guide-traps li, .guide-sources li { padding-left: .2rem; margin-bottom: .65rem; }
.guide-sources a { color: var(--forest); font-weight: 700; }
.guide-neighbours { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.guide-neighbours a { display: inline-flex; align-items: center; max-width: 46%; border: 1px solid var(--line); border-radius: .8rem; padding: .85rem 1rem; background: white; color: var(--forest); font-weight: 750; text-decoration: none; }
.guide-neighbours a:last-child { text-align: right; }
.guide-neighbours a:hover { border-color: var(--forest-3); }
.guide-locked { max-width: 45rem; border: 1px solid var(--line); border-radius: 1rem; padding: clamp(1.5rem, 4vw, 2.5rem); background: white; }
.guide-locked .button { margin-top: 1rem; }
@media (max-width: 52rem) {
  .guide-layout { grid-template-columns: 1fr; }
  .guide-index { position: static; }
  .guide-index ol { columns: 2; column-gap: 2rem; }
}
@media (max-width: 34rem) {
  .guide-index ol { columns: 1; }
  .guide-neighbours { flex-direction: column; }
  .guide-neighbours a { max-width: 100%; }
}
@media (max-width: 46rem) {
  .viewing-practice-guides .site-header { grid-template-columns: auto auto minmax(0, 1fr); }
  .viewing-practice-guides .header-actions { min-width: 0; gap: .3rem; }
  .viewing-practice-guides .community-button,
  .viewing-practice-guides .login-validity,
  .viewing-practice-guides .logout-button,
  .viewing-practice-guides .admin-month-stats { display: none !important; }
  .viewing-practice-guides .login-button { max-width: 7rem; overflow: hidden; text-overflow: ellipsis; }
}
