/* M51: display-only bounds for live report evidence. Capture pixels and policy are unchanged. */
.ccms-live-photo [data-live-camera] { width:100%; max-width:520px; margin:12px auto 0; min-width:0; }
.ccms-live-photo [data-live-camera] > video {
  display:block; width:100%; max-width:100%; min-width:0; min-height:0;
  height:280px; height:min(36vh,280px); object-fit:contain; box-sizing:border-box;
}
.ccms-live-photo > .ccms-live-preview {
  width:auto; height:auto; max-width:100%; max-height:280px; max-height:min(36vh,280px);
  object-fit:contain; margin:10px auto;
}
.ccms-live-photo [data-live-camera] > .actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.ccms-live-photo [data-live-camera] > .actions > button {
  flex:1 1 0; min-width:0; min-height:44px; margin:0; padding:10px 8px;
  white-space:normal; overflow-wrap:anywhere; line-height:1.3;
}
@media (max-width:760px), (pointer:coarse) {
  .ccms-live-photo [data-live-camera] { max-width:420px; }
  .ccms-live-photo [data-live-camera] > video { height:220px; height:min(30vh,220px); }
  .ccms-live-photo > .ccms-live-preview { max-height:220px; max-height:min(30vh,220px); }
  .ccms-live-photo [data-live-camera] > .actions > button { font-size:0.875rem; }
}
/* Small viewport units keep camera controls compact while mobile browser bars are visible. */
@supports (height:1svh) {
  .ccms-live-photo [data-live-camera] > video { height:min(36svh,280px); }
  .ccms-live-photo > .ccms-live-preview { max-height:min(36svh,280px); }
  @media (max-width:760px), (pointer:coarse) {
    .ccms-live-photo [data-live-camera] > video { height:min(30svh,220px); }
    .ccms-live-photo > .ccms-live-preview { max-height:min(30svh,220px); }
  }
}
