.foto-editable {
  display: inline-grid;
  flex: none;
  justify-items: center;
  gap: .25rem;
  padding: 3px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--forest);
  font: inherit;
  cursor: pointer;
}
.foto-editable:hover .portrait { outline: 2px solid var(--pine); }
.foto-editable-texto { font-size: .76rem; font-weight: 700; text-decoration: underline; }
.foto-editable:focus-visible, .editor-foto button:focus-visible { outline: 3px solid var(--pine); outline-offset: 2px; }
.photo-row > .fine { flex: 1; }
.photo-row .foto-editable .portrait {
  width: clamp(78px, 20vw, 102px);
  height: auto;
  aspect-ratio: 3 / 4;
  border-radius: 10px;
}
.editor-foto {
  width: min(25rem, calc(100% - 2rem));
  max-height: calc(100% - 2rem);
  overflow-y: auto;
  padding: clamp(1rem, 4vw, 1.65rem);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
  color: var(--ink);
  font: inherit;
  box-shadow: var(--shadow);
  text-align: center;
}
.editor-foto::backdrop { background: rgb(23 42 33 / 55%); }
.editor-foto h2 { margin: 0 0 .65rem; text-align: center; }
.editor-foto-panel, .editor-foto-opciones { display: grid; gap: .65rem; }
.editor-foto-panel { justify-items: stretch; }
.editor-foto p { margin: 0; text-align: justify; }
.editor-foto .editor-foto-estado:not(:empty) { margin-top: .75rem; color: var(--muted); }
.editor-foto > .plain { margin-top: .65rem; }
.editor-foto-muestra, .editor-foto-camara {
  display: block;
  justify-self: center;
  width: min(100%, 15rem, 35vh);
  aspect-ratio: 3 / 4;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
  background: var(--paper);
}
.editor-foto-muestra { touch-action: none; cursor: grab; }
.editor-foto-muestra:active { cursor: grabbing; }
.editor-foto-muestra:focus-visible { outline: 3px solid var(--pine); outline-offset: 2px; }
.editor-foto-espejo { transform: scaleX(-1); }
.editor-foto-espejo-opcion, .editor-foto-zoom { display: flex; gap: .6rem; align-items: center; justify-content: center; }
.editor-foto-zoom input { flex: 1; min-width: 0; accent-color: #26547c; min-height: 34px; }
