.course-module { min-width: 0; padding-block: 1rem; border-bottom: 1px solid var(--line); }
.course-module > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; cursor: pointer; color: var(--text); }
.course-module > summary::after { content: '+'; margin-left: auto; }
.course-module[open] > summary::after { content: '−'; }
.course-module > summary strong { font: 600 1.25rem var(--font-body); overflow-wrap: anywhere; }
.course-module > summary span { font-size: .875rem; }
.course-module > summary:focus-visible, .module-editor > summary:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.course-module > p { max-width: 70ch; overflow-wrap: anywhere; }
.module-editor { margin-block: .75rem; }
.section-schedule-form { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.section-schedule-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.section-schedule-row span { flex: 1 1 220px; overflow-wrap: anywhere; }
.section-schedule-row small { display: block; }
.section-schedule-row input { flex: 0 1 240px; min-width: 0; max-width: 100%; }
.course-module .builder-section-card { margin-block: .75rem; }
.course-module input, .course-module select, .course-module textarea { min-width: 0; max-width: 100%; }
.offer-workspace { min-width: 0; }
.offer-workspace p { max-width: 75ch; overflow-wrap: anywhere; }
.offer-list-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-block: 1.25rem; border-bottom: 1px solid var(--line); }
.offer-list-row > div { flex: 1 1 280px; min-width: 0; overflow-wrap: anywhere; }
.offer-list-row h3 { margin: 0; font: 600 1.125rem var(--font-body); }
.offer-package-summary { margin: .5rem 0; padding-left: 1.25rem; font-size: .875rem; }
.offer-package-selection { border: 0; padding: 0; min-width: 0; }
.offer-course-picker { padding-block: .75rem; border-bottom: 1px solid var(--line); }
.offer-course-picker summary, .offer-workspace > summary { cursor: pointer; padding-block: .75rem; overflow-wrap: anywhere; }
.offer-workspace summary:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.offer-workspace > summary h2 { display: inline; font-size: 1.25rem; }
.offer-course-picker .check-row { padding: .75rem 0; }
.offer-course-picker small { display: block; }
.offer-workspace input, .offer-workspace select, .offer-workspace textarea { min-width: 0; max-width: 100%; }
@media (max-width: 600px) { .course-module > summary { flex-wrap: wrap; gap: .5rem; } }
