/* FFP image zoom R2. Scoped styles; no dependencies, no inline code. */
picture.content-picture[data-ffp-zoom="true"] { cursor: zoom-in; }
picture.content-picture[data-ffp-zoom="true"]:focus-visible {
  outline: 3px solid #287adf; outline-offset: 5px;
}
.ffp-zoom {
  position: fixed; inset: 0; z-index: 2147483000;
  display: flex; flex-direction: column;
  background: rgba(9, 15, 25, .985); color: #fff;
  height: 100vh; height: 100dvh;
  font: 400 15px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overscroll-behavior: contain;
}
.ffp-zoom[hidden] { display: none !important; }
.ffp-zoom, .ffp-zoom * { box-sizing: border-box; }
.ffp-zoom__bar {
  display: flex; align-items: center; justify-content: space-between;
  flex: 0 0 auto; gap: 10px;
  padding: max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));
  background: #131f30;
}
.ffp-zoom__title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ffp-zoom__controls { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.ffp-zoom__button, .ffp-zoom__link {
  -webkit-appearance: none; appearance: none;
  background: #253851; color: #fff; border: 1px solid #64758b;
  border-radius: 9px; font: inherit; text-decoration: none;
  padding: 7px 10px; min-height: 39px; min-width: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; touch-action: manipulation;
}
.ffp-zoom__button:focus-visible, .ffp-zoom__link:focus-visible { outline: 3px solid #70b8ff; outline-offset: 2px; }
.ffp-zoom__button:hover, .ffp-zoom__link:hover { background: #345174; }
.ffp-zoom__stage {
  flex: 1 1 auto; min-height: 0; width: 100%;
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
  touch-action: none; overscroll-behavior: contain;
  cursor: grab;
}
.ffp-zoom__stage:active { cursor: grabbing; }
.ffp-zoom__image {
  display: block; flex: 0 1 auto;
  width: auto; height: auto; max-width: 100%; max-height: 100%;
  object-fit: contain; pointer-events: none;
  user-select: none; -webkit-user-select: none;
  transform-origin: center center; will-change: transform;
}
.ffp-zoom__foot {
  flex: 0 0 auto; text-align: center; padding: 10px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  color: #b9c7d8; background: #131f30; font-size: 12px;
}
@media (max-width: 520px) {
  .ffp-zoom__bar { flex-wrap: wrap; }
  .ffp-zoom__title { flex-basis: 100%; }
  .ffp-zoom__controls { width: 100%; justify-content: space-between; }
  .ffp-zoom__button, .ffp-zoom__link { min-width: 44px; min-height: 42px; }
}
