/* Scoped to the Spine presentation; existing lessons and other courses keep their layout. */
.cw--spine .cw-spine-materials { min-width: 0; }
.cw--spine .cw-spine-document { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
.cw--spine .cw-spine-document > div { min-width: 0; max-width: 100%; }
.cw--spine .cw-spine-document h2 { margin: 0 0 .5rem; font-size: clamp(1.4rem, 3vw, 2rem); overflow-wrap: anywhere; }
.cw--spine .cw-spine-document__actions, .cw--spine .cw-spine-pdf__toolbar { display: flex; flex-wrap: wrap; gap: .75rem; }
.cw--spine .cw-spine-pdf { margin-top: 1.5rem; min-width: 0; width: min(1600px, calc(100vw - 32px)); position: relative; left: 50%; transform: translateX(-50%); }
.cw--spine .cw-spine-pdf iframe { display: block; width: 100%; height: 90vh; min-height: 520px; border: 1px solid rgba(32, 39, 30, .2); background: #fff; }
.cw--spine .cw-spine-pdf.is-expanded { box-sizing: border-box; position: fixed; inset: 0; z-index: 2000; width: 100vw; height: 100vh; padding: 12px; margin: 0; transform: none; overflow: auto; background: #faf9f6; }
.cw--spine .cw-spine-pdf.is-expanded iframe { height: calc(100vh - 170px); min-height: 320px; }
.cw--spine .cw-spine-pdf .btn, .cw--spine .cw-spine-document .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .cw--spine .cw-spine-document { padding: 1rem; }
  .cw--spine .cw-spine-document__actions { width: 100%; }
  .cw--spine .cw-spine-document__actions .btn { flex: 1 1 140px; }
  .cw--spine .cw-spine-pdf iframe { height: 85vh; min-height: 520px; }
}
