/* Mejoras comunes; se carga después de las hojas globales vigentes. */
.quick-form-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.quick-form-field label { font-size: .82rem; font-weight: 600; line-height: 1.5; }
.quick-form-field :is(input, textarea) { width: 100%; min-height: 44px; }
.quick-form-field textarea { resize: vertical; }
.quick-form-help { font-size: .8rem; line-height: 1.5; }
.quick-form [aria-invalid="true"] { border-color: #ef4444; }
.quick-form button { min-height: 44px; }
body.image-lightbox-active { overflow: hidden; }
dialog.image-lightbox:not([open]) { display: none; }
dialog.image-lightbox[open] {
  display: flex; width: 100%; max-width: none; height: 100%; max-height: none;
  margin: 0; border: 0; padding: 64px 20px 24px; color: #fff;
  background: rgba(10,25,40,.95); opacity: 1; pointer-events: auto;
}
dialog.image-lightbox::backdrop { background: rgba(10,25,40,.75); }
dialog.image-lightbox .image-lightbox-content { max-width: 90vw; max-height: 100%; }
dialog.image-lightbox .image-lightbox-img { max-height: calc(100dvh - 175px); }
dialog.image-lightbox .image-lightbox-close {
  width: 44px; height: 44px; top: -50px; right: 0; font-size: 28px;
}
dialog.image-lightbox .image-lightbox-caption { max-height: 64px; overflow: auto; font-size: .85rem; }
:is(.swatch, .ops-photo, .project-card-photo)[role="button"] { cursor: zoom-in; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  dialog.image-lightbox { transition: none; }
}
