/* Variante unificada; ?camera=off preserva a experiência anterior de dois modos. */
.arena-gallery[data-photo-mode=camera] .gallery-stage { border-radius: 30px; overflow: hidden; isolation: isolate; background: #211d17; }
.arena-gallery[data-photo-mode=camera] .gallery-panel { border-radius: inherit; }
.camera-surface { position: absolute; inset: 0; z-index: 10; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: crosshair; }
.camera-surface:focus-visible { outline: 2px solid var(--gold); outline-offset: -5px; border-radius: inherit; }
.camera-frame { position: absolute; inset: 7%; z-index: 9; pointer-events: none; }
.camera-frame i { position: absolute; width: 30px; height: 30px; border: solid #ede8dcd9; }
.camera-frame i:nth-child(1) { top: 0; left: 0; border-width: 1px 0 0 1px; border-top-left-radius: 12px; }
.camera-frame i:nth-child(2) { top: 0; right: 0; border-width: 1px 1px 0 0; border-top-right-radius: 12px; }
.camera-frame i:nth-child(3) { bottom: 0; left: 0; border-width: 0 0 1px 1px; border-bottom-left-radius: 12px; }
.camera-frame i:nth-child(4) { bottom: 0; right: 0; border-width: 0 1px 1px 0; border-bottom-right-radius: 12px; }
.camera-zoom { position: absolute; z-index: 6; translate: -50% -50%; border: 2px solid var(--ink); border-radius: 50%; box-shadow: 0 0 0 6px #231f1a80, 0 10px 24px #0005; background-color: #211d17; background-repeat: no-repeat; opacity: 0; pointer-events: none; transition: opacity .2s; }
.arena-gallery[data-camera-inspect=true] .camera-zoom { opacity: 1; }
.camera-prints { position: absolute; inset: 0; z-index: 8; pointer-events: none; }
.camera-print { position: absolute; width: 29%; height: 49%; max-width: 230px; margin: 0; translate: -50% -50%; display: grid; grid-template-rows: minmax(0, 1fr) 24px; padding: 7px 7px 3px; background: var(--gallery-paper); color: #342b20; box-shadow: 0 8px 20px #0006; }
.camera-portrait { display: block; width: 100%; height: 100%; object-fit: contain; background: #d8cebb; }
.camera-print { transition: opacity .45s ease, transform .45s ease; }
.camera-print-expiring { opacity: 0; transform: translateY(8px) scale(.97); }
@media (prefers-reduced-motion: reduce) {
  .camera-print { transition: none; }
  .camera-print-expiring { opacity: 1; transform: none; }
}
.camera-print figcaption { align-self: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: center; font: .6875rem/1.2 var(--serif); }
.camera-tools { position: absolute; inset: auto 16px 12px; z-index: 12; display: flex; align-items: center; gap: 8px; pointer-events: none; }
.camera-tools button { min-height: 36px; padding: 6px 10px; border: 1px solid #b69b7280; border-radius: 3px; color: var(--ink); background: #231f1aeb; font-size: .75rem; pointer-events: auto; }
.camera-tools button:disabled { opacity: .55; }
.camera-tools button:not(:disabled):is(:hover,:focus-visible) { border-color: var(--gold); background: #413627; }
.camera-count { margin-left: auto; padding: 4px 8px; color: var(--ink); background: #231f1aeb; font-size: .6875rem; font-variant-numeric: tabular-nums; border-radius: 3px; }
.arena-gallery[data-photo-mode=camera] .gallery-flash { z-index: 11; }
@media (max-width: 767px) {
  .arena-gallery[data-photo-mode=camera] .gallery-stage { border-radius: 22px; }
  .camera-print { width: 34%; height: 50%; padding: 5px 5px 2px; grid-template-rows: minmax(0, 1fr) 19px; }
  .camera-print figcaption { font-size: .5625rem; }
  .camera-tools { inset: auto 8px 8px; gap: 5px; }
  .camera-tools button { min-height: 38px; padding: 5px 8px; font-size: .6875rem; }
  .camera-frame i { width: 23px; height: 23px; }
}
@media print { .camera-tools, .camera-surface, .camera-frame, .camera-zoom { display: none !important; } }
