/* Native modal top layer: background inert, Escape and focus containment. */
.buma-lightbox {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  border: 0;
  background: rgb(26 27 32 / 96%);
  color: var(--buma-cream);
  font-family: var(--font-body);
}
.buma-lightbox[open] { display: flex; flex-direction: column; gap: 12px; }
.buma-lightbox::backdrop { background: var(--buma-ink); }
.buma-lightbox__toolbar, .buma-lightbox__navigation { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-shrink: 0; }
.buma-lightbox button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--buma-cream);
  border-radius: var(--radius-input);
  background: var(--buma-cream);
  color: var(--buma-ink);
  font: 600 16px/1.25 var(--font-body);
  cursor: pointer;
}
.buma-lightbox button:hover { background: var(--buma-gold); }
.buma-lightbox button:focus-visible { outline: 3px solid var(--buma-gold); outline-offset: 4px; }
.buma-lightbox button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.buma-lightbox__stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.buma-lightbox__image { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.buma-lightbox__status { text-align: center; max-width: 36em; }
.buma-lightbox [hidden], .buma-lightbox__status:empty { display: none; }
.buma-lightbox__count { font-variant-numeric: tabular-nums; }
