.uev-thumb { border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); }
.uev-thumb.active, .uev-thumb:hover { border-color: var(--bs-primary); background: var(--bs-primary-bg-subtle); }
.uev-thumb img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: .25rem; }
.uev-image-card .imggr-main { height: min(56vh, 36rem); width: 100%; }
.uev-image-card .imggr-main-img { width: 100%; height: 100%; object-fit: contain; }
.uev-image-card .imggr-slider-group { width: 8rem; }
.uev-image-card .uev-zoom { width: 8rem; }
.uev-full-grid { display: grid; grid-template-columns: minmax(12rem, 18%) minmax(0, 1fr) minmax(16rem, 24%); grid-template-rows: minmax(0, 1fr) auto; gap: .5rem; }
.uev-full-grid > .uev-strip { grid-column: 1 / -1; }
.uev-full-grid .uev-image-card, .uev-full-grid .uev-image-card .card-body, .uev-full-grid .imggr-viewer-root, .uev-full-grid .imggr-stage { height: 100%; min-height: 0; }
.uev-full-grid .uev-image-card .imggr-main { height: 100%; min-height: 20rem; }
.uev-strip-thumb { flex: 0 0 7rem; border: 1px solid var(--bs-border-color); }
.uev-strip-thumb.active { border-color: var(--bs-primary); background: var(--bs-primary-bg-subtle); }
.uev-strip-thumb img { width: 100%; height: 4rem; object-fit: cover; border-radius: .2rem; }
@media (max-width: 991.98px) {
  .uev-full-grid { grid-template-columns: 1fr; grid-template-rows: auto minmax(24rem, 1fr) auto auto; overflow: auto; }
  .uev-full-grid > .uev-strip { grid-column: 1; }
  .uev-rail { max-height: 14rem; }
}
