/* Campo de imagem com recorte — ver js/mivita-cropper.js */
.mvc-field { width: 100%; }
.mvc-box {
  position: relative; width: 100%; background: #f3f3f3; border-radius: 8px;
  overflow: hidden; cursor: pointer; display: flex; align-items: center; justify-content: center;
  outline-offset: 2px;
}
.mvc-box:focus-visible { outline: 2px solid #1d4ed8; }
.mvc-box.is-drag { outline: 2px dashed #1d4ed8; background: #e8effd; }
.mvc-preview { display: none; width: 100%; height: 100%; object-fit: cover; }
.mvc-field.has-image .mvc-preview { display: block; }
.mvc-empty { color: #6b7280; font-size: 14px; text-align: center; padding: 16px; }
.mvc-field.has-image .mvc-empty { display: none; }
.mvc-actions {
  position: absolute; left: 0; right: 0; bottom: 14px; display: none;
  justify-content: center; gap: 12px;
}
.mvc-field.has-image .mvc-actions { display: flex; }
.mvc-icon {
  width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(17, 17, 17, .85); color: #fff; display: inline-flex;
  align-items: center; justify-content: center;
}
.mvc-icon:hover, .mvc-icon:focus-visible { background: #000; }
.mvc-msg { margin-top: 6px; font-size: 13px; color: #b91c1c; }
.mvc-msg[hidden] { display: none; }

.mvc-lock { overflow: hidden; }
.mvc-modal {
  position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, .65);
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.mvc-modal[hidden] { display: none; }
.mvc-modal__box {
  background: #fff; border-radius: 10px; width: min(900px, 100%); max-height: 100%;
  display: flex; flex-direction: column; padding: 16px; gap: 10px;
}
.mvc-modal__title { font-size: 18px; font-weight: 600; }
.mvc-modal__stage { flex: 1 1 auto; min-height: 0; height: min(60vh, 560px); background: #222; }
.mvc-modal__stage img { display: block; max-width: 100%; }
.mvc-modal__hint { font-size: 13px; color: #555; }
.mvc-modal__bar { display: flex; justify-content: flex-end; gap: 10px; }
.mvc-btn { border-radius: 8px; padding: 9px 18px; font-size: 14px; cursor: pointer; border: 1px solid transparent; }
.mvc-btn--ghost { background: #fff; border-color: #cfcfcf; color: #333; }
.mvc-btn--primary { background: #111; color: #fff; }
.mvc-btn--primary:hover { background: #000; }

.mvc-field.is-busy .mvc-box { opacity: .6; pointer-events: none; }
