/* Shared navigation and card improvements. */
.article-toc { background: var(--card); border: 1px solid var(--line); padding: 20px 24px; margin: 20px 0 32px; }
.article-toc ul { display: flex; flex-wrap: wrap; gap: 10px 24px; list-style: none; padding: 0; margin: 12px 0 0; }
.article-toc a { text-underline-offset: 3px; }
.editorial-sources { margin-top: 42px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 15px; overflow-wrap: anywhere; }
.editorial-sources h2 { font-size: 23px; }
.editorial-sources li { margin-bottom: 10px; }
:root { scroll-padding-top: 140px; }
a:focus-visible, summary:focus-visible { outline: 3px solid #AC5730; outline-offset: 5px; }
.plant-tag .plant-photo { width: 100%; height: 156px; object-fit: cover; margin: 0 0 18px; border-radius: 2px; background: #e5e7dc; }
.plant-tag .spec-row { gap: 10px; }
.plant-tag .spec-row span:last-child { text-align: right; }
/* Keep symptom text and its next-check link inside consistent columns. */
.checklist .check-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px 24px; }
.checklist .check-row .sig, .checklist .check-row .cause { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .checklist .check-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .site-header .wrap, .site-header .inner { flex-wrap: wrap; gap: 10px; padding-top: 12px; padding-bottom: 10px; }
  nav.primary { display: flex; width: 100%; flex-wrap: wrap; gap: 0 12px; font-size: 12px; }
  nav.primary a { display: flex; align-items: center; min-height: 44px; padding: 5px 0; }
  .brand { flex-wrap: wrap; }
  .btn.ghost { margin-left: 0; }
  .hero .btn { margin-right: 8px; }
  .plant-tag .plant-photo { height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .plant-tag { transition: none; }
}
