.coop-gallery{min-width:0;width:100%;--gallery-dot:8px;color:inherit}
.coop-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:18px;gap:0}
.coop-gallery-track::-webkit-scrollbar{display:none}
.coop-gallery .coop-gallery-slide{flex:0 0 100%;min-width:0;margin:0;border-radius:0;scroll-snap-align:start;aspect-ratio:auto;background:transparent;overflow:hidden}
.coop-gallery .coop-gallery-slide img{display:block;width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;transform:none!important;will-change:auto}
.coop-gallery-slide figcaption{font:400 13px/1.5 'DM Sans',sans-serif;padding:12px 4px}
.coop-gallery-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}
.coop-gallery-controls[hidden]{display:none}
.coop-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.coop-gallery-controls button:focus-visible,.coop-gallery-track:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.coop-gallery-controls button:disabled{opacity:.25;cursor:default}
.coop-gallery-arrow{font:24px/1 Arial,sans-serif!important}
.coop-gallery-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:0}
.coop-gallery-dot::before{content:'';width:var(--gallery-dot);height:var(--gallery-dot);border-radius:50%;background:currentColor;opacity:.35;transition:opacity .2s}
.coop-gallery-dot[aria-current=true]::before{opacity:1}
.coop-gallery-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:767px){.coop-gallery{--gallery-dot:5px}.coop-gallery-track{border-radius:14px}.coop-gallery .coop-gallery-slide img{aspect-ratio:1.1}.coop-gallery-controls{gap:4px}}
@media(prefers-reduced-motion:reduce){.coop-gallery *{scroll-behavior:auto!important;transition:none!important}}

.coop-gallery-dots{min-width:0;flex:0 1 auto}.coop-gallery-arrow{flex:0 0 44px}

/* Compact pagination and reversible brand-button hover motion. */
.coop-gallery{--gallery-motion:320ms;--gallery-ease:cubic-bezier(.2,.7,.2,1)}
.coop-gallery-controls{gap:16px}
.coop-gallery-controls .coop-gallery-dot{width:24px;height:44px;flex:0 0 24px;transition:background-color var(--gallery-motion) var(--gallery-ease)}
.coop-gallery-dot::before{transition:opacity var(--gallery-motion) var(--gallery-ease),transform var(--gallery-motion) var(--gallery-ease)}
.coop-gallery-controls .coop-gallery-arrow{background:#fd3b38;color:#fff;transition:background-color var(--gallery-motion) var(--gallery-ease),transform var(--gallery-motion) var(--gallery-ease),box-shadow var(--gallery-motion) var(--gallery-ease)}
.coop-gallery-controls .coop-gallery-arrow:focus-visible{background:#05df02;transform:scale(1.06);box-shadow:0 5px 14px #25093b33}
.coop-gallery-dot:focus-visible::before{opacity:1;transform:scale(1.2)}
@media(hover:hover){.coop-gallery-controls .coop-gallery-arrow:hover{background:#05df02;transform:scale(1.06);box-shadow:0 5px 14px #25093b33}.coop-gallery-dot:hover::before{opacity:1;transform:scale(1.2)}}
@media(max-width:767px){.coop-gallery-controls{gap:12px}}
@media(prefers-reduced-motion:reduce){.coop-gallery-controls button,.coop-gallery-dot::before{transition:none!important;transform:none!important}}
/* Photo cards fan behind the active image; gestures keep normal vertical scrolling. */
.coop-gallery.is-stacked{padding:8px 24px 0 0}
.coop-gallery.is-stacked .coop-gallery-track{position:relative;display:block;overflow:visible;scroll-snap-type:none;aspect-ratio:4/3;touch-action:pan-y;cursor:grab;border-radius:18px;margin-bottom:28px;isolation:isolate}
.coop-gallery.is-stacked .coop-gallery-slide{position:absolute;inset:0;width:100%;height:100%;border-radius:18px;overflow:hidden;background:#25093b;box-shadow:0 8px 22px #25093b38;transform-origin:85% 50%;transform:translate(calc(var(--card-depth)*8px),calc(var(--card-depth)*6px)) scale(calc(1 - var(--card-depth)*.045)) rotate(calc(var(--card-depth)*1.5deg));transition:transform 320ms cubic-bezier(.2,.7,.2,1),opacity 320ms ease;user-select:none}
.coop-gallery.is-stacked .coop-gallery-slide[aria-hidden=true]{pointer-events:none}
.coop-gallery.is-stacked .coop-gallery-slide img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;pointer-events:none}
.coop-gallery.is-stacked .coop-gallery-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 14px 12px;background:linear-gradient(transparent,#25093be6);color:white}
.coop-gallery.is-stacked .coop-gallery-slide.is-dragging{transition:none;cursor:grabbing}
@media(prefers-reduced-motion:reduce){.coop-gallery.is-stacked .coop-gallery-slide{transition:none!important}}

.coop-gallery-controls .coop-gallery-arrow{display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.coop-gallery-arrow svg{display:block;width:24px;height:24px;flex:none}

/* Full-photo chapter viewer uses the shared modal surface and motion. */
.coop-gallery,.story-body>figure{position:relative}
.coop-gallery-expand{position:absolute;top:18px;right:36px;z-index:30;width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:#fd3b38;color:#fff;cursor:pointer;box-shadow:0 3px 14px #0003;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}
.story-body>figure>.coop-gallery-expand{right:12px;top:12px}
.coop-gallery-expand:hover,.coop-gallery-expand:focus-visible{background:#05df02;transform:scale(1.07);box-shadow:0 5px 20px #0004}
.coop-gallery-expand:focus-visible{outline:3px solid #fff;outline-offset:3px}
.coop-photo-dialog.coop-navigation-dialog{width:1000px;max-width:calc(100vw - 48px)}
.coop-photo-dialog .coop-dialog-scroll{max-height:calc(100dvh - 80px)}
.coop-photo-dialog .coop-dialog-close{transition:background-color .3s ease,transform .3s ease}
.coop-photo-dialog .coop-dialog-close:hover{background:#05df02;transform:scale(1.07)}
.coop-photo-stage{height:min(58dvh,650px);display:flex;align-items:center;justify-content:center;border-radius:16px;background:#f5f1f8;overflow:hidden;touch-action:pan-y}
.coop-photo-stage img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.coop-photo-toolbar{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;color:#716675;font-size:13px}
.coop-photo-copy{max-width:680px;margin:22px auto 0;color:#564b5b;font-size:15px;line-height:1.65}
.coop-photo-toolbar button[hidden]{display:none}
@media(max-width:767px){.coop-photo-dialog.coop-navigation-dialog{max-width:calc(100vw - 40px)}.coop-photo-dialog .coop-dialog-scroll{padding:22px 16px}.coop-photo-dialog h2{font-size:26px}.coop-photo-stage{height:55dvh}.coop-photo-copy{font-size:14px}}
@media(prefers-reduced-motion:reduce){.coop-gallery-expand,.coop-photo-dialog .coop-dialog-close{transition:none;animation:none}}
.coop-photo-toolbar .coop-gallery-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fd3b38;color:#fff;cursor:pointer;transition:background-color .32s ease,transform .32s ease}
.coop-photo-toolbar .coop-gallery-arrow:hover,.coop-photo-toolbar .coop-gallery-arrow:focus-visible{background:#05df02;transform:scale(1.06)}
.coop-photo-toolbar .coop-gallery-arrow:focus-visible{outline:3px solid #9d02fc;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.coop-photo-toolbar .coop-gallery-arrow{transition:none;transform:none}}

.coop-photo-dialog .coop-dialog-top{display:block}.coop-photo-date{color:#fd3b38}
