/* Übungen und Einheiten-Editor: nur Layout, Farben und Maße kommen aus product-system.css. */
.exercise-filter{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:var(--sp-3);align-items:end;margin-bottom:var(--sp-3)}
.kind-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;margin:0 0 var(--sp-2);padding:0}
.kind-chips .filter-chip[aria-current="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.exercise-list{display:grid;gap:var(--sp-2)}
.exercise-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-s);min-width:0}
.exercise-item-main{flex:1 1 auto;min-width:0}
.exercise-item-main h3{font-size:1rem;font-weight:700;margin:0}
.exercise-item-main h3 a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.exercise-meta{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-small);overflow-wrap:anywhere}
.exercise-item-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:flex-end}
.exercise-item-actions form{margin:0}
.exercise-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-s);flex:0 0 auto;background:var(--canvas)}
.exercise-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--sp-3)}
.exercise-images img{width:100%;height:auto;border-radius:var(--radius-s);background:var(--canvas)}
.exercise-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.exercise-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.exercise-muscles,.exercise-defaults{border:0;padding:0;margin:0;min-width:0}
.exercise-muscles legend,.exercise-defaults legend{float:none;width:auto;padding:0;margin-bottom:var(--sp-2)}
.exercise-muscle-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:0 var(--sp-3)}
.exercise-form-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.table-scroll{overflow-x:auto}
.exercise-history{width:100%;border-collapse:collapse}
.exercise-history th,.exercise-history td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);text-align:left}
.exercise-history th{font-size:var(--fs-small);color:var(--muted)}
@media(max-width:640px){
 .exercise-filter{grid-template-columns:1fr}
 .exercise-item{flex-wrap:wrap}
 .exercise-item-actions{width:100%;justify-content:flex-start}
 .exercise-form-grid,.exercise-form-grid-3{grid-template-columns:1fr}
 .exercise-form-actions .btn{flex:1 1 100%}
}
.page-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.unit-editor .exercise-rows{display:grid;gap:var(--sp-3)}
.unit-editor .exercise-row-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.exercise-row-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-top:var(--sp-3)}
.unit-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-3);align-items:end}
.unit-results-title{font-size:var(--fs-h3);font-weight:700;margin:var(--sp-5) 0 var(--sp-2)}
.unit-results{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.unit-results li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-s)}
.unit-results li>span{min-width:0;overflow-wrap:anywhere}
.unit-quick-create{margin-top:var(--sp-4)}
@media(max-width:640px){
 .unit-editor .exercise-row-fields{grid-template-columns:1fr 1fr}
 .unit-search-row{grid-template-columns:1fr}
 .unit-results li{flex-wrap:wrap}
}
.last-time{margin:0 0 var(--sp-2);color:var(--ink)}
.last-time-date,.last-time-none{color:var(--muted);font-size:var(--fs-small)}
.exercise-link{color:inherit;text-decoration:none}
.exercise-link:hover{text-decoration:underline}
.prefill-tag{display:block;width:max-content;margin-top:var(--sp-1)}
body.product-body .form-control.is-prefilled{border-style:dashed;border-color:var(--info-line);background:var(--info-bg)}
.set-row-cardio{grid-template-columns:90px 1fr 1fr auto auto}
.set-row-compact{grid-template-columns:90px 1fr auto auto}
@media(max-width:800px){
 .set-row-cardio,.set-row-compact{grid-template-columns:90px 1fr 1fr}
 .set-row-compact .set-check{grid-column:2}
}

/* Übungs-Browser (Übungsliste und Einheiten-Editor): Filterleiste, Chips, Ergebnisse, Auswahlleiste */
.ex-filters{display:grid;gap:var(--sp-3)}
.ex-search-row{display:grid;grid-template-columns:minmax(0,1fr) 13rem auto;gap:var(--sp-3);align-items:end}
.ex-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);border:0;margin:0;padding:0;min-width:0}
.ex-legend{float:none;width:100%;padding:0;margin:0 0 var(--sp-1);font-size:var(--fs-small);font-weight:600;color:var(--ink)}
.ex-fine{padding-left:var(--sp-3);border-left:3px solid var(--accent-soft)}
.ex-panel>summary{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--h-md);padding:0 var(--sp-4);cursor:pointer;list-style:none;font-weight:700;font-size:var(--fs-small);color:var(--accent);border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface)}
.ex-panel>summary::-webkit-details-marker{display:none}
.ex-panel>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.ex-panel[open]>summary{background:var(--accent-soft);border-color:var(--accent)}
.ex-panel-body{display:grid;gap:var(--sp-3);padding-top:var(--sp-3)}
.ex-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);padding-top:var(--sp-2)}
.ex-apply{justify-self:start}
.ex-js .ex-no-js{display:none!important}
.ex-js .ex-apply{justify-self:stretch}
@media(min-width:761px){.ex-js .ex-apply{display:none!important}}
.ex-active{margin-top:0}
.ex-count-line{margin:0 0 var(--sp-3)}
.ex-count-line .text-link{display:inline}
.ex-more{display:flex;justify-content:center;margin-top:var(--sp-4)}
.ex-own-hint{margin:var(--sp-3) 0 0}
.exercise-en{margin:0;color:var(--muted);font-size:var(--fs-small);font-style:italic;overflow-wrap:anywhere}
.exercise-item-main .exercise-en{margin-top:0}
.exercise-thumb-sm{width:48px;height:48px}
.exercise-detail .page-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:flex-start}
.exercise-detail .page-actions form{margin:0}
.exercise-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--sp-3) var(--sp-5);margin:0}
.exercise-facts dt{font-size:var(--fs-small);font-weight:600;color:var(--muted)}
.exercise-facts dd{margin:0;overflow-wrap:anywhere}
.exercise-steps{max-width:62ch;padding-left:1.25rem;margin:0}
.exercise-steps li{margin-bottom:var(--sp-2)}
.exercise-note{max-width:62ch;white-space:pre-line;margin:0}
.pick-row{display:flex;align-items:center;gap:var(--sp-3);flex:1 1 auto;min-width:0;min-height:var(--h-md);margin:0;cursor:pointer}
.pick-row .form-check-input{flex:0 0 auto;margin:0}
.pick-main{min-width:0;overflow-wrap:anywhere}
.pick-main .exercise-meta,.pick-main .exercise-en{display:block;margin-top:0}
.ex-browser .unit-results li{flex-wrap:nowrap}
.ex-browser .unit-results .btn{flex:0 0 auto}
.unit-results li:has(.pick-row input:checked){background:var(--accent-soft);border-color:var(--accent)}
.pick-bar{position:sticky;bottom:var(--sp-3);z-index:2;display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:end;justify-content:flex-end;margin-top:var(--sp-4);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);box-shadow:var(--shadow-2)}
.pick-position{flex:1 1 14rem;min-width:0}
.exercise-row.is-replacing{outline:2px solid var(--accent);outline-offset:2px}
.ex-replace-note{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;justify-content:space-between}
.unit-quick-create{margin-top:var(--sp-6);padding-top:var(--sp-3);border-top:1px dashed var(--line-strong)}
.unit-quick-create>summary{min-height:var(--h-md);display:flex;align-items:center;cursor:pointer;font-weight:600;font-size:var(--fs-small);color:var(--muted)}
.unit-quick-create .unit-search-row{margin:var(--sp-2) 0 var(--sp-3)}
.unit-results li{min-height:var(--h-md)}
@media(max-width:760px){
 .ex-search-row{grid-template-columns:1fr}
 .ex-chips-scroll{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--sp-1);margin-right:calc(var(--sp-4) * -1);padding-right:var(--sp-4);-webkit-overflow-scrolling:touch}
 .ex-chips-scroll>*{flex:0 0 auto;scroll-snap-align:start}
 .ex-chips-scroll .ex-legend{position:sticky;left:0;flex:0 0 100%}
 .ex-panel>summary{display:flex;justify-content:center}
 .ex-more-grid{grid-template-columns:1fr}
 .ex-apply{position:sticky;bottom:calc(var(--sp-3) + 64px);z-index:2}
 .pick-bar{bottom:calc(var(--sp-3) + 64px)}
 .pick-bar .btn,.pick-position{flex:1 1 100%}
 .exercise-detail .page-actions{width:100%}
 .exercise-detail .page-actions .btn{width:100%}
}
.exercise-item-main h3 a{display:flex;align-items:center;min-height:var(--h-md)}
.exercises-page .back-link{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--h-md)}

/* --- S2: Überlauf am Handy (N1) -------------------------------------------------------------------------
   Die Chipzeile scrollt in sich. Ohne min-width:0 wuchs das Grid-Element auf die Breite aller Chips (612 px). */
.ex-filters{grid-template-columns:minmax(0,1fr)}
.ex-filters>*{min-width:0}
.ex-chips-scroll{max-width:100%;min-width:0;overflow-wrap:normal}
@media(max-width:760px){
 .ex-chips-scroll{margin-right:0;padding-right:0;overscroll-behavior-x:contain}
}

/* --- S2: Bilder als Mini-Animation (Liste: Vorschaubild, Detail: groß) ------------------------------------ */
.ex-anim{position:relative;display:block;flex:0 0 auto;width:64px;height:64px;overflow:hidden;border-radius:var(--radius-s);background:var(--canvas)}
.ex-anim>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.ex-anim.is-playing>img{position:absolute;inset:0}
.ex-anim.is-playing>img:not(.is-on){opacity:0}
.pick-row .ex-anim{width:48px;height:48px}
.ex-demo .exercise-images img{aspect-ratio:850/567;object-fit:cover}
.ex-demo.is-playing .exercise-images{grid-template-columns:minmax(0,min(100%,560px));justify-content:center}
.ex-demo.is-playing .exercise-images img{grid-area:1/1}
.ex-demo.is-playing .exercise-images img:not(.is-on){opacity:0;pointer-events:none}
.ex-demo.is-playing .exercise-images,.ex-demo.is-playing{cursor:pointer}
.ex-demo-toggle{display:block;margin:var(--sp-3) auto 0}
.ex-demo-hint{text-align:center;margin:var(--sp-2) 0 0}
@media(prefers-reduced-motion:reduce){.ex-anim>img,.ex-demo img{transition:none}}

/* --- S2: Meine Übungen als Einklapper mit Zähler ----------------------------------------------------------- */
.ex-own>summary{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3);cursor:pointer;list-style:none;min-height:var(--h-md)}
.ex-own>summary::-webkit-details-marker{display:none}
.ex-own>summary::after{content:"\F282";font-family:"bootstrap-icons";color:var(--muted);align-self:center}
.ex-own[open]>summary::after{content:"\F286"}
.ex-own>summary:focus-visible,.ex-own-pick>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}
.ex-own[open]>summary{margin-bottom:var(--sp-3)}
.ex-own-count{margin-left:auto}
.ex-own-pick>summary{cursor:pointer;min-height:var(--h-md);display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4)}
.ex-own-pick[open]>summary{margin-bottom:var(--sp-2)}
.exercises-page .ex-main .product-card+.product-card,.exercises-page .ex-main .ex-active+.product-card{margin-top:var(--sp-3)}
.unit-editor [id]{scroll-margin-top:calc(var(--sp-6) + 56px)}
.exercises-page [id]{scroll-margin-top:calc(var(--sp-6) + 56px)}
.ex-force-help{margin:var(--sp-1) 0 0}

/* --- S2: Katalog zweispaltig ab 1024 px (Filter links, Treffer als Kartenraster rechts) ------------------- */
@media(min-width:1024px){
 .ex-layout{display:grid;grid-template-columns:19rem minmax(0,1fr);gap:var(--sp-5);align-items:start}
 .ex-side{position:sticky;top:var(--sp-4);max-height:calc(100vh - var(--sp-6));overflow:auto;overscroll-behavior:contain}
 .ex-main{min-width:0}
 .ex-side .ex-search-row{grid-template-columns:minmax(0,1fr)}
 .ex-side .ex-more-grid{grid-template-columns:minmax(0,1fr)}
 .ex-side .product-card{padding:var(--sp-4)}
 .ex-side .ex-fine{margin-left:var(--sp-1)}
 .ex-main .catalog-hit-list,.ex-main .exercise-list:has(.catalog-hit){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
 .catalog-hit{flex-direction:column;align-items:stretch;gap:var(--sp-2);padding:0;overflow:hidden}
 .catalog-hit .ex-card-media{display:block}
 .catalog-hit .ex-anim{width:100%;height:auto;aspect-ratio:16/9;border-radius:0}
 .catalog-hit .exercise-item-main{padding:0 var(--sp-3);flex:1 1 auto}
 .catalog-hit .exercise-item-actions{justify-content:flex-start;padding:0 var(--sp-3) var(--sp-3)}
 .catalog-hit .exercise-item-main h3 a{min-height:0}
 /* Editor: Filter links neben den Treffern */
 .ex-browser{display:grid;grid-template-columns:19rem minmax(0,1fr);column-gap:var(--sp-5);align-items:start}
 .ex-browser>header{grid-column:1/-1}
 .ex-browser>.ex-filters{grid-column:1;position:sticky;top:var(--sp-4);max-height:calc(100vh - var(--sp-6));overflow:auto}
 .ex-browser>#exercise-results{grid-column:2;grid-row:2;min-width:0}
 .ex-browser .ex-search-row,.ex-browser .ex-more-grid{grid-template-columns:minmax(0,1fr)}
 .ex-browser .unit-results-title{margin-top:0}
}
@media(max-width:1023px){
 .ex-side{margin-bottom:var(--sp-3)}
}
