/* One student, one 16:9 gallery, followed by the matching evaluation. */
body.white-edition.course-detail .co-student-reviews {display:grid;gap:28px;margin:28px 0 20px}
body.white-edition.course-detail .co-student-review {min-width:0;border:1px solid var(--ce-line);border-radius:16px;background:var(--ce-surface);overflow:hidden}
body.white-edition.course-detail .co-review-gallery {margin:0;min-width:0}
body.white-edition.course-detail .co-review-frame {position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#ededed;cursor:zoom-in;touch-action:pan-y pinch-zoom}
body.white-edition.course-detail .co-review-frame svg {position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
body.white-edition.course-detail .co-review-frame:focus-visible {outline:3px solid var(--ce-blue);outline-offset:-3px}
body.white-edition.course-detail .co-review-enlarge {position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #e1e3e7;border-radius:7px;background:#fff;color:#27292d;font:500 .75rem/1.5 var(--ce-font);box-shadow:0 2px 8px #0000000a;pointer-events:none}
body.white-edition.course-detail .co-review-enlarge>span {font-size:1rem}
body.white-edition.course-detail .co-gallery-bar {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:58px;padding:6px 18px;border-top:1px solid var(--ce-line);border-bottom:1px solid var(--ce-line);background:var(--ce-surface)}
body.white-edition.course-detail .co-gallery-caption {min-width:0;color:var(--ce-muted);font:400 .8125rem/1.6 var(--ce-font);overflow-wrap:anywhere}
body.white-edition.course-detail .co-gallery-controls {display:flex;flex:none;align-items:center;gap:4px}
body.white-edition.course-detail .co-gallery-controls[hidden] {display:none}
body.white-edition.course-detail .co-gallery-controls button {display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ce-ink);font:400 1.125rem/1 var(--ce-font);cursor:pointer}
body.white-edition.course-detail .co-gallery-controls button:hover:not(:disabled) {background:var(--ce-soft)}
body.white-edition.course-detail .co-gallery-controls button:disabled {opacity:.28;cursor:default}
body.white-edition.course-detail .co-gallery-controls button:focus-visible {outline:2px solid var(--ce-blue);outline-offset:0}
body.white-edition.course-detail .co-gallery-count {min-width:48px;color:var(--ce-muted);font:400 .75rem/1.5 var(--ce-font);text-align:center;font-variant-numeric:tabular-nums}
body.white-edition.course-detail .co-review-content {padding:26px 28px 28px}
body.white-edition.course-detail .co-review-person {display:flex;align-items:center;gap:10px;margin:0 0 18px}
body.white-edition.course-detail .co-review-avatar {display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid var(--ce-line);border-radius:50%;background:var(--ce-soft);color:var(--ce-copy);font:600 .875rem/1 var(--ce-font)}
body.white-edition.course-detail .co-review-person strong {color:var(--ce-ink);font:600 .9375rem/1.5 var(--ce-font)}
body.white-edition.course-detail .co-review-person time {margin-left:auto;color:var(--ce-muted);font:400 .8125rem/1.6 var(--ce-font)}
body.white-edition.course-detail .co-review-content h3 {margin:0 0 12px;color:var(--ce-ink);font:600 1.25rem/1.6 var(--ce-font);letter-spacing:0}
body.white-edition.course-detail .co-review-content .co-review-evaluation {margin:0;color:var(--ce-copy);font:400 1rem/1.9 var(--ce-font);overflow-wrap:anywhere}
body.white-edition.course-detail .co-review-content .co-review-source {margin:16px 0 0;color:var(--ce-muted);font:400 .75rem/1.6 var(--ce-font)}
body.white-edition.course-detail .co-section>.co-review-guide {margin:0;color:var(--ce-muted);font-size:.875rem;line-height:1.8}
body.white-edition.course-detail .co-section>.co-review-note {margin:0 0 18px;color:var(--ce-muted);font-size:.75rem;line-height:1.8}
@media (max-width:640px) {
 body.white-edition.course-detail .co-student-reviews {gap:24px}
 body.white-edition.course-detail .co-review-content {padding:20px}
 body.white-edition.course-detail .co-review-content h3 {font-size:1.125rem}
 body.white-edition.course-detail .co-review-person {flex-wrap:wrap;gap:8px}
 body.white-edition.course-detail .co-review-person time {font-size:.75rem}
 body.white-edition.course-detail .co-gallery-bar {padding:4px 8px 4px 12px}
 body.white-edition.course-detail .co-gallery-caption {font-size:.75rem}
 body.white-edition.course-detail .co-gallery-controls {gap:0}
 body.white-edition.course-detail .co-gallery-count {min-width:42px}
 body.white-edition.course-detail .co-review-enlarge {right:8px;bottom:8px;padding:5px 8px}
}
@media print {
 body.white-edition.course-detail .co-student-review {break-inside:avoid}
 body.white-edition.course-detail :is(.co-gallery-controls,.co-review-enlarge) {display:none}
}

/* Native image viewer shared with the existing course images. */
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) {width:min(620px,calc(100% - 24px));border-radius:16px;background:var(--ce-surface);border-color:var(--ce-line)}
body.white-edition.course-detail .co-image-dialog.is-evidence-record {width:min(1200px,calc(100% - 24px))}
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) .co-image-toolbar {gap:12px;background:var(--ce-surface);border-color:var(--ce-line)}
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) .co-image-toolbar h2 {color:var(--ce-ink);font:600 .875rem/1.5 var(--ce-font)}
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) :is(.co-image-zoom,.co-image-close) {min-height:44px;color:var(--ce-ink);background:var(--ce-soft);border-radius:8px}
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) .co-image-close {width:44px}
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) .co-image-scroll {max-height:calc(100svh - 190px);background:var(--ce-soft)}
body.white-edition.course-detail .co-image-pages {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 16px;border-bottom:1px solid var(--ce-line);background:var(--ce-surface);color:var(--ce-muted);font-size:.875rem}
body.white-edition.course-detail .co-image-pages[hidden],body.white-edition.course-detail .co-image-status[hidden] {display:none}
body.white-edition.course-detail .co-image-pages button {padding:10px 8px;min-height:44px;background:none;color:var(--ce-ink);font:inherit;cursor:pointer}
body.white-edition.course-detail .co-image-pages button:disabled {color:var(--ce-muted);opacity:.5;cursor:default}
body.white-edition.course-detail .co-image-status {margin:0;padding:12px 18px;font-size:.875rem;line-height:1.7;color:var(--ce-muted);background:var(--ce-surface)}
@media (max-width:640px) {
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) .co-image-toolbar {padding:10px 12px}
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) .co-image-controls {gap:6px}
body.white-edition.course-detail .co-image-dialog:is(.is-review-record,.is-evidence-record) .co-image-zoom {font-size:.75rem;padding:8px}
}

/* A reading-first comment with a strip of original, uncropped photos. */
body.white-edition.course-detail .co-student-reviews {display:grid;gap:36px;margin:32px 0 24px}
body.white-edition.course-detail .co-student-review {min-width:0;padding:0 0 36px;border:0;border-bottom:1px solid var(--ce-line);border-radius:0;background:transparent;overflow:visible}
body.white-edition.course-detail .co-student-review:last-child {padding-bottom:0;border-bottom:0}
body.white-edition.course-detail .co-review-person {display:flex;align-items:center;gap:12px;margin:0 0 12px}
body.white-edition.course-detail .co-review-avatar {display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--ce-line);border-radius:50%;background:var(--ce-soft);color:var(--ce-copy);font:600 .875rem/1 var(--ce-font)}
body.white-edition.course-detail .co-review-person strong {color:var(--ce-ink);font:600 .9375rem/1.5 var(--ce-font)}
body.white-edition.course-detail .co-review-person time {margin-left:auto;color:var(--ce-muted);font:400 .8125rem/1.6 var(--ce-font)}
body.white-edition.course-detail .co-review-content {margin-left:52px;padding:0}
body.white-edition.course-detail .co-review-content h3 {margin:0 0 10px;color:var(--ce-ink);font:600 1.125rem/1.6 var(--ce-font);letter-spacing:0}
body.white-edition.course-detail .co-review-content .co-review-evaluation {margin:0;color:var(--ce-copy);font:400 1rem/1.85 var(--ce-font);overflow-wrap:anywhere}
body.white-edition.course-detail .co-review-gallery {--photo-height:380px;margin:20px 0 0 52px;min-width:0}
body.white-edition.course-detail .co-photo-track {display:flex;align-items:center;gap:12px;position:relative;min-width:0;height:calc(var(--photo-height) + 12px);margin:0;padding:2px 1px 10px;overflow-x:auto;overflow-y:hidden;list-style:none;scroll-snap-type:x proximity;scroll-padding-inline:1px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ce-line) transparent;touch-action:pan-x pan-y pinch-zoom;cursor:grab}
body.white-edition.course-detail .co-photo-track::-webkit-scrollbar {height:4px}
body.white-edition.course-detail .co-photo-track::-webkit-scrollbar-thumb {border-radius:4px;background:var(--ce-line)}
body.white-edition.course-detail .co-photo-item {display:flex;align-items:center;flex:0 0 auto;width:min(calc(var(--photo-height) * var(--photo-ratio)),100%);height:var(--photo-height);padding:0;margin:0;scroll-snap-align:start}
body.white-edition.course-detail .co-photo-open {position:relative;display:block;width:100%;margin:0;padding:0;border:0;border-radius:9px;background:transparent;color:var(--ce-ink);cursor:zoom-in;line-height:0}
body.white-edition.course-detail .co-photo-open img {display:block;width:100%;height:auto;max-width:100%;margin:0;border:1px solid var(--ce-line);border-radius:9px;object-fit:contain;filter:none;box-shadow:0 2px 5px #00000005;user-select:none;-webkit-user-drag:none}
body.white-edition.course-detail .co-photo-open:hover img {border-color:var(--ce-muted)}
body.white-edition.course-detail .co-photo-zoom {position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--ce-line);border-radius:50%;background:var(--ce-surface);color:var(--ce-ink);font:400 1rem/1 var(--ce-font);opacity:0;pointer-events:none}
body.white-edition.course-detail .co-photo-open:is(:hover,:focus-visible) .co-photo-zoom {opacity:1}
body.white-edition.course-detail .co-photo-track.is-dragging {scroll-snap-type:none;cursor:grabbing;user-select:none}
body.white-edition.course-detail .co-photo-track.is-dragging .co-photo-open {cursor:grabbing}
body.white-edition.course-detail .co-photo-open:focus-visible {outline:2px solid var(--ce-blue);outline-offset:-2px}
body.white-edition.course-detail .co-photo-track:focus-visible {outline:2px solid var(--ce-blue);outline-offset:3px}
body.white-edition.course-detail .co-gallery-bar {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:4px;padding:0;border:0;background:transparent}
body.white-edition.course-detail .co-gallery-bar .co-gallery-hint {margin:0;color:var(--ce-muted);font:400 .75rem/1.6 var(--ce-font)}
body.white-edition.course-detail .co-gallery-controls {display:flex;flex:none;gap:4px}
body.white-edition.course-detail .co-gallery-controls[hidden] {display:none}
body.white-edition.course-detail .co-gallery-controls button {display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--ce-line);border-radius:50%;background:var(--ce-surface);color:var(--ce-ink);font:400 1rem/1 var(--ce-font);cursor:pointer}
body.white-edition.course-detail .co-gallery-controls button:hover:not(:disabled) {background:var(--ce-soft);border-color:var(--ce-muted)}
body.white-edition.course-detail .co-gallery-controls button:disabled {opacity:.3;cursor:default}
body.white-edition.course-detail .co-gallery-controls button:focus-visible {outline:2px solid var(--ce-blue);outline-offset:2px}
body.white-edition.course-detail .co-section>.co-review-note {margin:0 0 18px;color:var(--ce-muted);font-size:.75rem;line-height:1.8}
/* Keep the full portrait readable in the viewer without stretching it across a desktop. */
body.white-edition.course-detail .co-image-dialog.is-student-gallery {width:min(960px,calc(100% - 24px))}
body.white-edition.course-detail .co-image-dialog.is-student-gallery .co-image-toolbar h2 {min-width:0}
body.white-edition.course-detail .co-image-dialog.is-student-gallery .co-image-controls {flex:none}
body.white-edition.course-detail .co-image-dialog.is-student-gallery.is-portrait-photo .co-image-scroll:not(.is-zoomed) img {width:min(100%,560px);height:auto;margin-inline:auto}
@media (max-width:640px) {
 body.white-edition.course-detail .co-student-reviews {gap:28px;margin-top:26px}
 body.white-edition.course-detail .co-student-review {padding-bottom:28px}
 body.white-edition.course-detail .co-review-content {margin-left:0}
 body.white-edition.course-detail .co-review-gallery {--photo-height:340px;margin-left:0;margin-top:18px}
 body.white-edition.course-detail .co-photo-track {gap:10px}
 body.white-edition.course-detail .co-review-person {gap:10px;margin-bottom:14px}
 body.white-edition.course-detail .co-review-person time {font-size:.75rem}
 body.white-edition.course-detail .co-photo-zoom {opacity:1}
}
@media (prefers-reduced-motion:reduce) {
 body.white-edition.course-detail .co-photo-track {scroll-behavior:auto}
}
@media print {
 body.white-edition.course-detail .co-student-review {break-inside:avoid}
 body.white-edition.course-detail .co-gallery-controls,body.white-edition.course-detail .co-photo-zoom {display:none}
}

/* Student case cards follow the homepage's image, caption and divided action layout. */
body.white-edition.course-detail .co-case-carousel {margin:24px 0 24px;min-width:0}
body.white-edition.course-detail .co-case-navigation {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}
body.white-edition.course-detail .co-case-navigation[hidden] {display:none}
body.white-edition.course-detail .co-case-navigation .co-case-switch-hint {margin:0;color:var(--ce-muted);font:400 .8125rem/1.6 var(--ce-font)}
body.white-edition.course-detail .co-case-controls {display:flex;align-items:center;gap:8px;flex:none}
body.white-edition.course-detail .co-case-count {margin-right:6px;color:var(--ce-muted);font:400 .8125rem/1.5 var(--ce-font);font-variant-numeric:tabular-nums}
body.white-edition.course-detail .co-case-controls button {display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--ce-line);border-radius:50%;background:var(--ce-surface);color:var(--ce-ink);font:400 1.125rem/1 var(--ce-font);cursor:pointer;transition:background .18s,border-color .18s}
body.white-edition.course-detail .co-case-controls button:hover:not(:disabled) {background:var(--ce-soft);border-color:var(--ce-muted)}
body.white-edition.course-detail .co-case-controls button:disabled {opacity:.3;cursor:default}
body.white-edition.course-detail .co-case-track {position:relative;display:flex;align-items:stretch;gap:24px;min-width:0;margin:0;padding:3px 0 14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ce-line) transparent;touch-action:pan-x pan-y pinch-zoom}
body.white-edition.course-detail .co-case-track::-webkit-scrollbar {height:3px}
body.white-edition.course-detail .co-case-track::-webkit-scrollbar-thumb {background:var(--ce-line);border-radius:3px}
body.white-edition.course-detail .co-case-card {display:flex;flex-direction:column;flex:0 0 calc((100% - 24px)/2);min-width:0;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;scroll-snap-align:start}
body.white-edition.course-detail .co-case-cover {position:relative;display:block;flex:none;width:100%;height:auto;aspect-ratio:3/4;margin:0;padding:0;overflow:hidden;border:1px solid var(--ce-line);border-radius:18px;background:#ededed;color:var(--ce-ink);cursor:zoom-in;box-shadow:0 3px 10px #00000004}
body.white-edition.course-detail .co-case-cover img {position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;object-fit:contain;object-position:center;filter:none;user-select:none;-webkit-user-drag:none}
body.white-edition.course-detail .co-case-zoom {position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ddd;border-radius:50%;background:#ffffffed;color:#27292d;font:400 1.125rem/1 var(--ce-font);transition:transform .18s;pointer-events:none}
body.white-edition.course-detail .co-case-cover:hover .co-case-zoom {transform:translate(1px,-1px)}
body.white-edition.course-detail .co-case-person {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin:20px 0 12px}
body.white-edition.course-detail .co-case-name {display:inline-flex;align-items:center;gap:7px;padding:3px 9px 3px 4px;border:1px solid var(--ce-line);border-radius:6px;background:var(--ce-soft)}
body.white-edition.course-detail .co-case-avatar {display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ce-surface);color:var(--ce-muted);font:500 .75rem/1 var(--ce-font)}
body.white-edition.course-detail .co-case-name strong {color:var(--ce-copy);font:500 .8125rem/1.5 var(--ce-font)}
body.white-edition.course-detail .co-case-person time {color:var(--ce-muted);font:400 .75rem/1.6 var(--ce-font)}
body.white-edition.course-detail .co-case-card h3 {margin:0 0 10px;color:var(--ce-ink);font:600 1.125rem/1.65 var(--ce-font);letter-spacing:0;text-wrap:pretty}
body.white-edition.course-detail .co-case-feedback {margin:0 0 20px}
body.white-edition.course-detail .co-case-feedback .co-review-evaluation {margin:0;color:var(--ce-copy);font:400 1rem/1.8 var(--ce-font);overflow-wrap:anywhere}
body.white-edition.course-detail .co-case-feedback.is-collapsible:not(.is-expanded) .co-review-evaluation {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
body.white-edition.course-detail .co-case-expand {display:block;margin:4px 0 -8px;padding:8px 0;min-height:44px;background:transparent;border:0;color:var(--ce-muted);font:500 .8125rem/1.5 var(--ce-font);cursor:pointer}
body.white-edition.course-detail .co-case-expand[hidden] {display:none}
body.white-edition.course-detail .co-case-expand:hover {color:var(--ce-ink)}
body.white-edition.course-detail .co-case-more {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;margin:auto 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--ce-line);border-radius:0;background:transparent;color:var(--ce-muted);text-align:left;font:400 .875rem/1.6 var(--ce-font);cursor:pointer}
body.white-edition.course-detail .co-case-more small {font:inherit}
body.white-edition.course-detail .co-case-more>span:last-child {font-size:1.375rem;line-height:1}
body.white-edition.course-detail .co-case-more:hover {color:var(--ce-ink)}
body.white-edition.course-detail :is(.co-case-cover,.co-case-more,.co-case-expand,.co-case-controls button):focus-visible {outline:2px solid var(--ce-blue);outline-offset:-2px}
body.white-edition.course-detail .co-case-track:focus-visible {outline:2px solid var(--ce-blue);outline-offset:2px}
body.white-edition.course-detail .co-case-track.is-dragging {scroll-snap-type:none;cursor:grabbing;user-select:none}
body.white-edition.course-detail .co-case-track.is-dragging button {cursor:grabbing}
@media (max-width:640px) {
 body.white-edition.course-detail .co-case-track {gap:20px}
 body.white-edition.course-detail .co-case-card {flex-basis:88%}
 body.white-edition.course-detail .co-case-cover {border-radius:16px}
 body.white-edition.course-detail .co-case-person {margin-top:16px;gap:6px 8px}
 body.white-edition.course-detail .co-case-controls {gap:6px}
 body.white-edition.course-detail .co-case-navigation {margin-bottom:14px}
}
@media (prefers-reduced-motion:reduce) {
 body.white-edition.course-detail .co-case-carousel * {transition:none!important;scroll-behavior:auto}
}
@media print {
 body.white-edition.course-detail .co-case-track {display:grid;grid-template-columns:1fr 1fr;overflow:visible}
 body.white-edition.course-detail .co-case-card {break-inside:avoid}
 body.white-edition.course-detail :is(.co-case-navigation,.co-case-zoom,.co-case-expand) {display:none}
 body.white-edition.course-detail .co-case-feedback.is-collapsible:not(.is-expanded) .co-review-evaluation {display:block;overflow:visible}
}
