/* W35c (2026-10-10): the case pages and the case index. The rest comes from /vms/site.css (W34b). Justified text (Strict). */
.case-hero .subtitle { margin-bottom: 1.2rem; }
.case-ctas { display: flex; justify-content: center; }
.btn-big { padding: 0.95rem 2rem; font-size: 1.05rem; }
.case-story { font-size: 1.08rem; color: var(--text-primary); }
.facts { display: grid; grid-template-columns: max-content 1fr; gap: 0.45rem 1.2rem; margin-top: 0.4rem; }
.facts dt { font-weight: 700; color: var(--accent); font-size: 0.9rem; letter-spacing: 0.04em; }
.facts dd { color: var(--text-secondary); }
.case-steps { margin-top: 1rem; font-size: 0.92rem; text-align: justify; }
.chip-std { font-size: 0.82rem; }
.chip-all { border-color: var(--accent-dim); color: var(--accent); }
.read-list li { font-size: 0.98rem; }
.related .explore-row h3 { margin-bottom: 0.5rem; }
.case-filters { display: grid; grid-template-columns: 2fr 1fr 1.4fr; gap: 0.6rem; max-width: 900px; margin: 0.5rem auto 0.8rem; }
.case-filters input, .case-filters select { width: 100%; padding: 0.65rem 0.8rem; font-family: var(--font); font-size: 0.95rem;
  color: var(--text-primary); background: var(--bg-card); border: 1px solid var(--border-card); border-radius: var(--radius); }
.case-filters input:focus, .case-filters select:focus { border-color: var(--accent); outline: none; }
.case-count { text-align: center; color: var(--text-muted); font-size: 0.88rem; margin-bottom: 1rem; }
.case-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 0.9rem; }
.case-card { display: flex; flex-direction: column; gap: 0.35rem; background: var(--bg-card); border: 1px solid var(--border-card);
  border-radius: var(--radius-lg); padding: 1.1rem; color: var(--text-primary); transition: all var(--transition); }
.case-card:hover { background: var(--bg-card-hover); border-color: var(--border-subtle); transform: translateY(-2px); color: var(--text-primary); }
.case-card[hidden] { display: none; }
.case-card h3 { font-size: 1.05rem; }
.case-card p { font-size: 0.9rem; flex: 1; }
.case-kind { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); }
.case-meta { font-size: 0.8rem; color: var(--text-muted); }
.case-none { text-align: center; margin-top: 1.5rem; text-align-last: center; }
@media (max-width: 700px) { .case-filters { grid-template-columns: 1fr; } .facts { grid-template-columns: 1fr; gap: 0.1rem; }
  .facts dd { margin-bottom: 0.5rem; } }
/* W38e (2026-10-11): tabs of the case index (all, free, programs, EMS protocols) and the Free badge. */
.case-tabs { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: center; margin: 0.4rem auto 0.9rem; }
.case-tab { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.42rem 0.95rem; border-radius: 999px; font-weight: 500; font-size: 0.9rem;
  color: var(--text-secondary); background: var(--bg-secondary); border: 1px solid var(--border-card); }
.case-tab:hover { border-color: var(--accent); color: var(--accent); }
.case-tab.on { background: var(--accent); border-color: var(--accent); color: #0a1f44; font-weight: 700; }
.case-tab .cnt { font-size: 0.78rem; opacity: 0.75; font-weight: 400; }
.case-free { display: inline-block; margin-left: 0.4rem; padding: 0 0.5rem; border-radius: 999px; background: var(--accent); color: #0a1f44;
  font-size: 0.66rem; letter-spacing: 0.06em; vertical-align: middle; }
.case-card:hover { border-color: var(--accent); }
.case-card:hover h3 { color: var(--accent); }
