/* Movement library — browsable reference, grouped by body area. */

.movements-view .page-heading { padding-bottom: 30px; }

/* --- toolbar: search + type filter --------------------------------------- */
.movement-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px}
.movement-search{flex:1 1 260px;min-width:220px}
.movement-search input{width:100%;background:#1b211e;border:1px solid var(--line);border-radius:10px;color:var(--paper);padding:11px 14px;font:13px 'Space Grotesk'}
.movement-search input:focus{outline:none;border-color:var(--acid)}
.movement-search input::placeholder{color:var(--muted)}
.movement-search input::-webkit-search-cancel-button{filter:grayscale(1) opacity(.6)}

.movement-count{color:var(--muted);font:11px 'DM Mono';letter-spacing:.06em;white-space:nowrap}

/* three independent axes, each on its own labelled row */
.movement-filters{display:flex;flex-direction:column;gap:9px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.filter-row{display:grid;grid-template-columns:78px 1fr;align-items:start;gap:12px}
.filter-label{font:10px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:8px}
.filter-chips{display:flex;flex-wrap:wrap;gap:5px}
.filter-chip{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font:11px 'DM Mono';letter-spacing:.05em;cursor:pointer;transition:all .16s ease}
.filter-chip:hover{color:var(--paper);border-color:#3c4640}
.filter-chip.is-active{background:var(--acid);border-color:var(--acid);color:#101313;font-weight:500}
.filter-chip:focus-visible,.movement-card:focus-visible{outline:2px solid var(--acid);outline-offset:2px}

/* --- grouped grid --------------------------------------------------------- */
.movement-library{display:flex;flex-direction:column;gap:34px}
.movement-group h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:12px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:var(--paper);font-weight:500}
.movement-group h2::after{content:"";flex:1;height:1px;background:var(--line)}
.movement-group h2 span{order:3;color:var(--muted);font-size:11px;letter-spacing:.04em}

.movement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:10px}
.movement-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 17px;color:var(--paper);cursor:pointer;transition:border-color .16s ease,transform .12s ease,background .16s ease}
.movement-card:hover{border-color:#3f4a43;background:#1b2320;transform:translateY(-1px)}
.movement-card strong{font:15px 'Space Grotesk';font-weight:600;line-height:1.25}
.movement-focus{color:var(--muted);font:12.5px/1.5 'Space Grotesk'}
.movement-more{margin-top:3px;color:var(--acid);font:10px 'DM Mono';letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .16s ease}
.movement-card:hover .movement-more,.movement-card:focus-visible .movement-more{opacity:1}

/* difficulty is a ramp, so it reads as one — colour carries the step up */
.movement-tags{display:flex;flex-wrap:wrap;gap:5px}
.movement-level,.movement-kit{font:9.5px 'DM Mono';letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.movement-level.foundational{color:var(--acid);border-color:#3f4f28}
.movement-level.intermediate{color:#8FD3F4;border-color:#2c4653}
.movement-level.advanced{color:var(--orange);border-color:#523a24}

.movement-empty{color:var(--muted);font:14px/1.7 'Space Grotesk';padding:26px 0}
.movements-view .coach-disclaimer{margin-top:34px}

@media(max-width:600px){
  .movement-toolbar{flex-direction:column;align-items:stretch}
  .filter-row{grid-template-columns:1fr;gap:4px}
  .filter-label{padding-top:0}
  .movement-grid{grid-template-columns:1fr}
  .movement-more{opacity:1}
}
