/* FedM8 Follow (owner direction 2026-10-16; r10): the Follow / Following toggle.
   Approved visual contract (DESIGN.md): paper #fffef9, olive #526547, thin muted green lines, dark
   green text, plain sans-serif controls. Phone targets are 44px. */
.tf-wrap { --tf-paper:#fffef9; --tf-olive:#526547; --tf-olive-dark:#344b2c; --tf-soft:#eef1e7; --tf-line:#d9ded0; --tf-muted:#586653; --tf-red:#8f2d22;
  display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; }
.tf-wrap[hidden] { display:none !important; }
.tf-btn { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:6px 12px; border:1px solid var(--tf-olive); border-radius:999px;
  background:var(--tf-paper); color:var(--tf-olive-dark); font:inherit; font-size:13px; font-weight:600; line-height:1.2; cursor:pointer; white-space:nowrap; }
.tf-btn:hover { background:var(--tf-soft); }
.tf-btn.on { background:var(--tf-soft); border-color:var(--tf-olive); color:var(--tf-olive-dark); }
.tf-btn:focus-visible { outline:3px solid #9fb184; outline-offset:2px; }
.tf-btn:disabled { opacity:.65; cursor:default; }
.tf-ic { flex:none; }
.tf-hint { color:var(--tf-muted); font-size:12.5px; line-height:1.4; }
.tf-status { color:var(--tf-red); font-size:12.5px; }
.tf-status:empty { display:none; }
/* In a post's action row: the same quiet size as Reply. */
.tf-small .tf-btn { min-height:32px; padding:4px 10px; border-color:var(--tf-line); font-size:12.5px; font-weight:600; }
.tf-small .tf-btn.on { border-color:var(--tf-olive); }
/* A header row: the title on the left, the toggle and its hint on the right. */
.tf-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px 16px; flex-wrap:wrap; }
.tf-head > :first-child { min-width:0; flex:1 1 240px; }
.tf-head .tf-wrap { justify-content:flex-end; text-align:right; max-width:100%; }
@media (max-width: 760px) {
  .tf-btn, .tf-small .tf-btn { min-height:44px; }
  .tf-head .tf-wrap { justify-content:flex-start; text-align:left; }
}
