/* Shared card spacing and chapter actions, 2026-10-30. */
:root { --member-card-gap: 20px; --member-section-gap: 24px; }
body .chapter-accordion > summary {
  display: grid; grid-template-columns: minmax(0,1fr) auto;
  align-items: center; gap: 8px 16px; list-style: none;
  padding: 18px; min-width: 0;
}
body .chapter-accordion > summary::-webkit-details-marker { display: none; }
body .chapter-accordion > summary::marker { content: ''; }
body .chapter-title { display: flex; align-items: baseline; gap: 8px; min-width: 0; overflow-wrap: anywhere; }
body .chapter-title::before { content: '▸'; flex: none; }
body .chapter-accordion[open] > summary .chapter-title::before { content: '▾'; }
body .chapter-accordion > summary small { grid-column: 1 / -1; margin: 0 0 0 22px; }
body .chapter-audio-action.btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-height: 44px; margin: 0; padding: 10px 14px;
  font-size: 14px; line-height: 1.5; white-space: nowrap;
}
body .chapter-audio-action:focus-visible { outline: 3px solid var(--focus,var(--navy)); outline-offset: 3px; }
body .lupinus-course-lessons, body .pg-course { display: grid; gap: var(--member-card-gap); }
body .lupinus-course-lessons > .chapter-accordion, body .pg-course > .chapter-accordion { margin: 0; }
body .lesson-tiles, body.has-side .lesson-tiles, body.ed-textbook .lesson-tiles,
body .course-grid, body .member-home .course-grid, body.ed-textbook .lupinus-course-grid,
body .lib-grid, body.ed-textbook .lib-grid, body .lib-cat-grid,
body .home-tools-grid, body .tools-grid, body .area-grid,
body .learning-roadmap, body.ed-textbook .learning-roadmap, body .learning-progress-grid,
body .learning-questions, body .learning-areas, body .mp-grid,
body .lupinus-design-tools, body.ed-textbook .lupinus-design-tools,
body .lupinus-feedback-list, body .creaca-rows, body .audio-chapters { gap: var(--member-card-gap); }
body .learning-card { margin-bottom: var(--member-section-gap); }
body .split-main + .split-aside:not(.lesson-side) { margin-top: var(--member-card-gap); gap: var(--member-card-gap); }
body .mp-grid { margin-top: var(--member-card-gap); }
body .mp-grid > .mp-card { margin: 0; }
/* Separate standalone framed blocks without adding margins inside card grids. */
body :is(.container,.split-main,.lesson-body,.home-tab-panel) > :is(.learning-card,.mp-card,.audio-player,.onb-card,.chapter-audio-link,.script-downloads,.lupinus-inline-progress) + :is(.learning-card,.mp-card,.audio-player,.onb-card,.chapter-audio-link,.script-downloads,.lupinus-inline-progress) {
  margin-top: var(--member-card-gap);
}
body .chapter-audio-link { margin: 16px 0; padding: 0; }
@media (max-width: 767px) {
  :root { --member-card-gap: 16px; --member-section-gap: 20px; }
  body .chapter-accordion > summary { padding: 16px 14px; column-gap: 10px; font-size: 18px; }
  body .chapter-audio-action.btn { padding: 10px; font-size: 13px; }
  body .chapter-accordion > summary small { font-size: 13px; line-height: 1.7; }
}
