/* Layout della directory esercizi. Header, footer, tema, tipografia e pagina derivano dai CSS ufficiali del sito. */
.page-exercises-directory .tools-main{padding-bottom:0}
.exercise-directory-hero{margin-bottom:0}
.exercise-browser{padding:32px 0 clamp(60px,8vw,100px)}
.exercise-controls{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.exercise-controls input,.exercise-controls select{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--tools-line-strong);border-radius:10px;color:var(--tools-ink);background:var(--tools-panel);font:inherit}
.exercise-controls input:focus,.exercise-controls select:focus{outline:2px solid color-mix(in srgb,var(--tools-accent) 24%,transparent);outline-offset:1px;border-color:var(--tools-accent)}
.exercise-stats{margin:0 0 18px;color:var(--tools-muted);font-size:.9rem}
.exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.exercise-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-panel);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.exercise-card:hover{transform:translateY(-3px);border-color:var(--tools-line-strong);box-shadow:var(--shadow)}
.exercise-visual{aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--tools-line);background:var(--tools-soft);color:var(--tools-muted);font-size:.8rem;text-align:center}
.exercise-visual img{width:100%;height:100%;object-fit:cover}
.exercise-card-body{display:flex;flex:1;flex-direction:column;padding:22px}
.exercise-kicker{margin:0 0 9px;color:var(--tools-accent);font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.exercise-card h2{margin:0 0 10px;font-size:clamp(1.35rem,2vw,1.85rem);letter-spacing:-.035em}
.exercise-meta{margin:0 0 18px;color:var(--tools-muted);font-size:.88rem}
.exercise-target{margin:0 0 18px;color:var(--tools-ink)}
.exercise-open{margin-top:auto;align-self:flex-start;color:var(--tools-ink);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.exercise-open:hover,.exercise-open:focus-visible{color:var(--tools-accent)}
.exercise-empty{grid-column:1/-1;padding:42px;border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-panel);color:var(--tools-muted);text-align:center}

/* Scheda individuale */
.exercise-sheet{padding-top:30px;padding-bottom:clamp(60px,8vw,100px)}
.exercise-sheet-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);overflow:hidden;border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-panel)}
.exercise-sheet-copy{padding:clamp(26px,4vw,52px)}
.exercise-sheet-copy h1{max-width:13ch;margin:.15em 0 .28em;font-size:clamp(2.45rem,5.7vw,5.3rem)}
.exercise-sheet-summary{color:var(--tools-muted);font-size:1rem}
.exercise-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:30px;border-top:1px solid var(--tools-line);border-left:1px solid var(--tools-line)}
.exercise-fact{padding:14px 16px;border-right:1px solid var(--tools-line);border-bottom:1px solid var(--tools-line)}
.exercise-fact span{display:block;color:var(--tools-muted);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.exercise-fact strong{display:block;margin-top:4px;font-size:.95rem}
.exercise-sheet-media{min-height:360px;display:grid;place-items:center;background:var(--tools-soft);color:var(--tools-muted);text-align:center}
.exercise-sheet-media img{width:100%;height:100%;object-fit:contain}
.exercise-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.exercise-content-panel{padding:clamp(24px,4vw,38px);border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-panel)}
.exercise-content-panel h2{margin-bottom:20px;font-size:clamp(1.55rem,3vw,2.25rem)}
.exercise-content-panel ol,.exercise-content-panel ul{margin:0;padding-left:1.25rem}
.exercise-content-panel li+li{margin-top:.7rem}
.exercise-related{margin-top:18px;padding:clamp(24px,4vw,38px);border:1px solid var(--tools-line);border-radius:var(--tools-radius);background:var(--tools-panel)}
.exercise-related h2{font-size:clamp(1.45rem,2.6vw,2rem)}
.exercise-related-list{display:flex;flex-wrap:wrap;gap:9px}
.exercise-related-list a{padding:9px 12px;border:1px solid var(--tools-line-strong);border-radius:999px;text-decoration:none}
.exercise-related-list a:hover{background:var(--tools-soft)}
.exercise-back-link{display:inline-block;margin-top:22px;font-weight:800}
:root[data-theme="dark"] .exercise-card,:root[data-theme="dark"] .exercise-sheet-head,:root[data-theme="dark"] .exercise-content-panel,:root[data-theme="dark"] .exercise-related{background:var(--tools-panel);border-color:var(--tools-line)}
@media(max-width:900px){.exercise-controls{grid-template-columns:1fr 1fr}.search-wide{grid-column:1/-1}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-sheet-head{grid-template-columns:1fr}.exercise-sheet-media{min-height:300px}.exercise-content-grid{grid-template-columns:1fr}}
@media(max-width:620px){.exercise-controls{grid-template-columns:1fr}.search-wide{grid-column:auto}.exercise-grid{grid-template-columns:1fr}.exercise-card-body{padding:19px}.exercise-facts{grid-template-columns:1fr}.exercise-sheet-copy{padding:24px}.exercise-sheet-media{min-height:230px}}

/* Approfondimento facoltativo */
.exercise-details{margin-top:18px}
.exercise-details-text{width:100%;max-width:none;color:var(--tools-ink);font-size:1rem;line-height:1.72}
.exercise-details-text p{margin:0 0 1.15em}
.exercise-details-text p:last-child{margin-bottom:0}
.exercise-details-text ul,.exercise-details-text ol{margin:0 0 1.15em;padding-left:1.35rem}
.exercise-details-text li+li{margin-top:.45em}


/* Navigazione sequenziale, richiamo editoriale e disclaimer */
.exercise-source{margin:38px 0;padding:22px;border:1px solid var(--tools-line);border-radius:16px;background:var(--tools-panel)}
.exercise-source-inner{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:center}
.exercise-source img{width:90px;max-height:130px;object-fit:contain;border-radius:6px}
.exercise-source h2{margin:.1rem 0 .4rem;font-size:1.3rem}
.exercise-source-note p{margin:.4rem 0;color:var(--tools-muted)}
.exercise-source-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.exercise-source-actions a{display:inline-flex;padding:9px 13px;border:1px solid var(--tools-line);border-radius:9px;text-decoration:none;font-weight:750}
.exercise-source-actions a:hover,.exercise-source-actions a:focus-visible{border-color:var(--ink);background:var(--surface)}
.exercise-sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 18px}
.exercise-sequence-link{min-height:92px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:16px 18px;border:1px solid var(--tools-line);background:var(--tools-panel);text-decoration:none}
.exercise-sequence-link.next{text-align:right;align-items:flex-end}
.exercise-sequence-link span{color:var(--tools-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.exercise-sequence-link strong{font-size:1rem;line-height:1.3}
.exercise-sequence-link:hover,.exercise-sequence-link:focus-visible{border-color:var(--ink)}
.exercise-disclaimer{max-width:78ch;margin:22px 0 12px;color:var(--tools-muted);font-size:.76rem;line-height:1.55}
@media(max-width:700px){.exercise-source-inner{grid-template-columns:1fr}.exercise-source img{width:80px}.exercise-sequence{grid-template-columns:1fr}.exercise-sequence-spacer{display:none}.exercise-sequence-link.next{text-align:left;align-items:flex-start}}

/* exercise-pagination-20260828 */
.exercise-visual-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.exercise-visual-link:focus-visible{
  outline:3px solid var(--tools-accent);
  outline-offset:-3px;
}
.exercise-visual-link:hover .exercise-visual img{
  transform:scale(1.018);
}
.exercise-visual img{
  transition:transform .2s ease;
}
.exercise-pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:32px 0 0;
}
.exercise-pagination[hidden]{
  display:none;
}
.exercise-page-button{
  min-width:42px;
  min-height:42px;
  padding:8px 12px;
  border:1px solid var(--tools-line-strong);
  border-radius:9px;
  background:var(--tools-panel);
  color:var(--tools-ink);
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
.exercise-page-button:hover:not(:disabled),
.exercise-page-button:focus-visible{
  border-color:var(--tools-accent);
  color:var(--tools-accent);
}
.exercise-page-button[aria-current="page"]{
  border-color:var(--tools-ink);
  background:var(--tools-ink);
  color:var(--tools-panel);
}
.exercise-page-button:disabled{
  opacity:.38;
  cursor:not-allowed;
}
.exercise-page-button.prev,
.exercise-page-button.next{
  min-width:118px;
}
.exercise-page-ellipsis{
  padding:0 3px;
  color:var(--tools-muted);
}
@media(max-width:620px){
  .exercise-pagination{
    gap:5px;
    margin-top:24px;
  }
  .exercise-page-button{
    min-width:38px;
    min-height:40px;
    padding:7px 9px;
  }
  .exercise-page-button.prev,
  .exercise-page-button.next{
    min-width:auto;
  }
}
