/* T31 Forage-only species passport (Figma 50:3117). Page layout only; tokens from css/v2. */
.psb .psb-icon { width: 1em; height: 1em; flex: none; display: inline-block; vertical-align: -.125em; fill: currentColor; } /* shared-fix candidate */

.ch-hero { padding: 32px 0 48px; }
.ch-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 56px; align-items: start; }
.ch-badges { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 16px 0 0; padding: 0; }
.ch-tag { display: inline-block; padding: 4px 10px; border: 1.5px solid var(--ink-900); border-radius: var(--radius-pill); background: var(--cream-0); font: 500 11px/1.4 var(--font-mono); letter-spacing: .03em; text-transform: uppercase; color: var(--ink-900); }
.ch-tag--mint { background: var(--pine-100); }
.ch-tag--pink { background: var(--pink-300); }
.psb .ch-title { font-size: clamp(3.5rem, 1.8rem + 7vw, 7.5rem); line-height: 1.05; margin: 16px 0 20px; color: var(--ink-900); letter-spacing: -.02em; }
.ch-intro { max-width: 640px; font-size: 19px; line-height: 1.5; font-weight: 500; margin-bottom: 24px; }
.ch-tabs a { font-size: 14px; padding: 9px 16px; }

.ch-passport { position: relative; }
.ch-passport__art { display: grid; place-items: center; height: 190px; background: var(--pine-100); border-bottom: var(--stroke); }
.ch-passport__art img { width: 120px; height: auto; }
.ch-passport dl > div:first-child { border-top: 0; }
.ch-passport dd.is-warn { color: var(--tomato-600); }

.ch-id { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 48px; align-items: start; }
.ch-muted { color: var(--text-secondary); }
.ch-checklist { margin: 0; display: grid; gap: 4px; padding: 20px 24px; background: var(--bg-surface); border: var(--stroke); border-radius: var(--radius-card); box-shadow: var(--shadow-card); min-width: 0; }
.ch-checklist .psb-check { align-items: center; gap: 14px; padding: 10px 0; font-size: 15px; color: var(--text-primary); cursor: pointer; }
.ch-checklist .psb-check input { width: 22px; height: 22px; margin: 0; }
.ch-checklist .psb-check:has(input:checked) span { color: var(--text-secondary); }
.ch-status { margin-top: 8px; padding: 10px 14px; border-radius: 12px; background: var(--tomato-100); color: var(--ink-900); font-size: 13px; font-weight: 600; }
.ch-checklist[data-done="true"] .ch-status { background: var(--butter-100); }

.ch-lk { background: var(--tomato-100); }
.ch-lk .psb-overline { display: inline-flex; gap: 6px; align-items: center; }
.ch-lk .psb-overline .psb-icon { color: var(--butter-800); }
.ch-cmp { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ch-cmp__card { display: grid; justify-items: center; align-content: start; gap: 4px; padding: 20px 24px 24px; background: var(--cream-0); border: var(--stroke); border-radius: var(--radius-card); box-shadow: var(--shadow-card); text-align: center; }
.ch-cmp__card--bad { border-color: var(--tomato-600); box-shadow: none; }
.ch-cmp__card h3 { font-size: 20px; margin-top: 10px; }
.ch-cmp__card--bad h3 { color: var(--tomato-600); }
.ch-cmp__disc { display: grid; place-items: center; width: 104px; height: 104px; border: var(--stroke); border-radius: 50%; background: var(--media-bg, var(--tomato-100)); }
.ch-cmp__disc img { width: 70%; height: auto; }
.ch-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; justify-self: stretch; text-align: left; font-size: 14px; color: var(--ink-700); }
.ch-list li { display: flex; gap: 8px; align-items: baseline; }
.ch-list .psb-icon { color: var(--tomato-600); }
.ch-list--ok .psb-icon { color: var(--pine-500); }
.ch-emergency { display: flex; gap: 12px; align-items: baseline; margin-top: 28px; padding: 14px 18px; border: 2px solid var(--tomato-600); border-radius: 14px; background: var(--cream-0); font-size: 14px; color: var(--ink-900); }
.ch-emergency .psb-icon { color: var(--tomato-600); }

.ch-two { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.psb .ch-h3 { font-size: var(--fs-h3); }

.ch-bottom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 40px; align-items: start; }
.ch-recipes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ch-recipes .psb-media img { width: auto; height: 62%; padding: 0; }
.psb .ch-rt { font: 700 19px/1.3 var(--font-body); letter-spacing: 0; }
.ch-recipes .psb-article:hover .ch-rt { text-decoration: underline; }

/* shared specificity workarounds (see T10) */
.psb h2.psb-overline, .psb h3.psb-overline { font: 700 var(--fs-caption)/1.33 var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.psb h3.psb-card__title { font: 700 19px/1.32 var(--font-body); }
.psb .psb-disclosure { display: block; }
.psb .psb-disclosure::before { margin-right: 8px; }

@media (max-width: 1100px) {
  .ch-hero__grid, .ch-id, .ch-bottom { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ch-passport { max-width: 520px; }
  .ch-cmp { grid-template-columns: minmax(0, 1fr); }
  .ch-cmp__card { grid-template-columns: 104px minmax(0, 1fr); justify-items: start; text-align: left; column-gap: 20px; }
  .ch-cmp__disc { grid-row: span 3; }
  .ch-list { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .ch-two, .ch-recipes { grid-template-columns: minmax(0, 1fr); }
  .ch-cmp__card { grid-template-columns: 72px minmax(0, 1fr); padding: 18px; }
  .ch-cmp__disc { width: 72px; height: 72px; }
}
@media print {
  .psb-header, .psb-marquee, .psb-footer, .psb-cookie, .ch-hero, #where, .ch-bottom, [data-ch-print] { display: none !important; }
  .ch-checklist { box-shadow: none; }
}
.ch-passport dt { white-space: nowrap; }
.ch-two .psb-callout { align-content: start; }
@media (max-width: 600px) { .psb .ch-title { font-size: 10vw; } }
