/* A full movement card fits inside the available viewport, including mobile browser chrome. */
.field-guide-viewer.move-fit-viewer {
  --viewer-gap: 8px;
  box-sizing: border-box;
  width: calc(100% - 2 * var(--viewer-gap));
  height: calc(100vh - 2 * var(--viewer-gap));
  height: calc(100dvh - 2 * var(--viewer-gap) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  font: 14px/1.5 'DM Sans', sans-serif;
}
.move-fit-viewer[open] { display: flex; flex-direction: column; }
.move-fit-viewer .guide-viewer-top { position: static; flex: none; align-items: center; padding: 8px 14px; gap: 12px; }
.move-fit-viewer .guide-viewer-top h2 { font-size: clamp(19px, 2.5vw, 28px); line-height: 1.1; }
.move-fit-viewer .guide-viewer-top .eyebrow { margin: 0 0 4px; }
.move-fit-viewer .move-guide-notice { flex: none; margin: 6px 12px 0; padding: 6px 10px; font-size: 12px; line-height: 1.4; }
.move-fit-viewer .move-guide-notice p { margin: 0; }
.move-fit-viewer .move-fit-stage { position: relative; flex: 1 1 0; min-height: 0; min-width: 0; }
.move-fit-viewer .guide-viewer-image { position: absolute; inset: 0; margin: 0; padding: 2px; }
.move-fit-viewer .guide-viewer-image img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: 50% 50%; }
.move-fit-viewer .guide-viewer-status { position: absolute; z-index: 1; top: 8px; left: 8px; right: 8px; margin: 0; padding: 8px 12px; background: #f6f1e6; }
.move-fit-viewer .guide-viewer-status:empty { display: none; }
.move-fit-notes { position: absolute; inset: 0; overflow: auto; overscroll-behavior: contain; padding: 12px 8px; background: #f6f1e6; }
.move-fit-notes details > summary { display: none; }
.move-fit-notes .move-text-guide, .move-fit-notes .cycle-viewer-notes { margin-top: 12px; border: 0; padding: 0; }
.move-fit-viewer .guide-viewer-actions { flex: none; display: flex; flex-wrap: nowrap; justify-content: center; gap: 8px 20px; padding: 2px 12px; border-top: 1px solid #29312830; }
.move-fit-viewer .guide-viewer-actions a, .move-fit-viewer .guide-viewer-actions button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 4px 0; border: 0; background: transparent; color: inherit; font: 500 13px/1.3 'DM Sans', sans-serif; cursor: pointer; text-align: center; }
.move-fit-viewer button:focus-visible, .move-fit-notes:focus-visible { outline: 2px solid #53664e; outline-offset: -3px; }
.move-fit-pagination { flex: none; display: flex; align-items: center; justify-content: center; gap: 20px; padding: 0 12px; }
.move-fit-pagination button { min-height: 44px; min-width: 76px; padding: 4px 10px; border: 0; background: transparent; color: inherit; font: 500 13px/1.3 'DM Sans', sans-serif; cursor: pointer; }
.move-fit-pagination button:disabled { opacity: .35; cursor: default; }
.move-fit-pagination span { font-size: 12px; font-variant-numeric: tabular-nums; }
@media (max-width: 640px), (max-height: 540px) {
  .field-guide-viewer.move-fit-viewer { --viewer-gap: 6px; }
  .move-fit-viewer .guide-viewer-top { padding: 4px 8px; gap: 8px; }
  .move-fit-viewer .guide-viewer-top .eyebrow { display: none; }
  .move-fit-viewer .guide-viewer-top h2 { font-size: 19px; }
  .move-fit-viewer .guide-viewer-actions { gap: 14px; padding-inline: 6px; }
  .move-fit-viewer .guide-viewer-actions a, .move-fit-viewer .guide-viewer-actions button { font-size: 12px; }
  .move-fit-viewer .guide-viewer-image { padding: 4px; }
}
@media print { .field-guide-viewer.move-fit-viewer { display: none !important; } }

.move-guided-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#faf7ed}.move-guided-frame[hidden]{display:none}
@media(max-width:700px){.move-fit-viewer.has-guided-workout{--viewer-gap:0;width:100%;height:100dvh;max-width:none;border:0;border-radius:0}.has-guided-workout .guide-viewer-top h2{font-size:17px}.has-guided-workout .move-guide-notice{display:none}.has-guided-workout .guide-viewer-top{padding-top:max(4px,env(safe-area-inset-top))}}

/* Only the approved full-body workout takes over the viewport. */
.field-guide-viewer.move-fit-viewer.has-guided-workout{--viewer-gap:0;width:100%;height:100dvh;max-width:none;border:0;border-radius:0}
.has-guided-workout .move-guide-notice,.has-guided-workout .guide-viewer-actions{display:none}
.has-guided-workout .guide-viewer-top{padding:8px 18px;border-bottom:1px solid #dddccf}
.has-guided-workout .guide-viewer-top .eyebrow{display:none}
.has-guided-workout .guide-viewer-top h2{font-size:clamp(17px,2vw,24px)}
.has-guided-workout .guide-viewer-close{width:40px;height:40px;min-height:40px;padding:4px}

/* Static movement cards share the website ivory; keep source art untouched. */
.field-guide-viewer.move-fit-viewer,.move-fit-viewer .guide-viewer-top,.move-fit-viewer .move-fit-stage,.move-fit-viewer .guide-viewer-image{background:#faf7ee}
.move-fit-viewer .guide-viewer-image{isolation:isolate}
.move-fit-viewer .guide-viewer-image img{filter:brightness(1.06);mix-blend-mode:darken}

/* Multipage yoga guides share the desktop stage; each sheet opens at reading size. */
.has-guide-spread :is(.guide-viewer-image, .guide-viewer-status, .move-fit-pagination),
.has-guide-spread .guide-viewer-actions :is(#guide-viewer-original, #guide-viewer-download),
.has-guide-spread .move-fit-stage:has(.move-fit-notes:not([hidden])) .quinn-guide-spread {display:none}
.quinn-guide-spread {
  position:absolute; inset:0; display:grid; grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr); gap:clamp(12px,2vw,36px);
  padding:10px clamp(16px,3vw,56px) 0; background:#faf7ee;
}
.quinn-guide-spread > div {display:grid; grid-template-rows:minmax(0,1fr) auto; min-height:0; min-width:0}
.guide-page-preview {display:block; min-height:0; cursor:zoom-in}
.guide-page-preview img {display:block; width:100%; height:100%; object-fit:contain}
.guide-page-caption {display:flex; align-items:center; justify-content:center; gap:16px; color:#354633}
.guide-page-caption {min-height:32px}
.move-fit-viewer .guide-viewer-actions #guide-download-all {
  background:#526640;color:#fff;border-radius:24px;padding:8px 18px;font-weight:600;
}
.move-fit-viewer .guide-viewer-actions #guide-download-all:disabled {opacity:.75}
@media(max-width:640px) {
  .move-fit-viewer .guide-viewer-actions #guide-download-all {padding-inline:10px}
}
.quinn-guide-spread a:focus-visible {outline:2px solid #53664e; outline-offset:-2px}

/* Shared mobile entrance for every library activity; desktop is unchanged. */
@media(max-width:700px){
 .move-mobile-intro{box-sizing:border-box;width:calc(100vw - 32px);max-width:440px;max-height:calc(100dvh - 32px);margin:auto;padding:52px 24px 28px;border:1px solid #e5d9c5;border-radius:24px;color:#303725;text-align:center;overflow:auto;background:linear-gradient(#fcf4e8eb,#fcf4e8ed),url('/assets/movement-guides/full-body-motion/studio-background.webp') center/cover;box-shadow:0 20px 70px #27342340}
 .move-mobile-intro::backdrop{background:#35433285;backdrop-filter:blur(6px)}
 .move-mobile-intro .move-mobile-intro-room{font:500 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 15px}
 .move-mobile-intro h2{font:400 clamp(32px,8.4vw,42px)/1.08 'Instrument Serif',Georgia,serif;letter-spacing:-.5px;margin:0 0 28px;text-wrap:balance;color:#303725}
 .move-mobile-intro #move-mobile-intro-description{font:400 16px/1.5 'DM Sans',Arial,sans-serif;margin:0 auto;max-width:290px;text-wrap:balance;color:#373b30}
 .move-mobile-intro .move-mobile-intro-sprout{display:block;width:108px;height:54px;object-fit:contain;margin:18px auto 24px;mix-blend-mode:multiply}
 .move-mobile-intro button{cursor:pointer;display:grid;place-items:center;box-sizing:border-box}
 .move-mobile-intro .move-mobile-intro-begin{width:80%;min-height:54px;margin:0 auto;padding:13px 24px;border:0;border-radius:999px;background:#485b32;color:#fff;box-shadow:none}
 .move-mobile-intro-begin svg{width:32px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .move-mobile-intro .move-mobile-intro-close{position:absolute;right:11px;top:11px;width:40px;height:40px;min-height:40px;padding:10px;border:1px solid #dfd7c9;border-radius:50%;background:#fff9f0;color:#303725}
 .move-mobile-intro-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .move-mobile-intro button:focus-visible{outline:2px solid #485b32;outline-offset:4px}
}
@media(max-width:700px) and (max-height:500px){.move-mobile-intro{padding:40px 24px 18px}.move-mobile-intro h2{margin-bottom:12px;font-size:30px}.move-mobile-intro .move-mobile-intro-sprout{height:32px;margin:10px auto}.move-mobile-intro .move-mobile-intro-begin{min-height:44px}}
