a.fw-semibold {
  font-weight: 400 !important;
}
body { padding-bottom: 40px; line-height: 1.2; background: #f5f5f5; }
.breadcrumb { background: transparent; }
.photo-lg { max-width: 300px; height: auto; cursor: zoom-in; }
.modal-img { max-width: 100%; height: auto; }
table img.thumb:not([src*="/img/placeholder.svg"]) { cursor: zoom-in; }
table img.thumb:focus-visible { outline: 2px solid #0d6efd; outline-offset: 2px; }
.photo-gallery .photo-lg { max-width: 100%; height: 180px; object-fit: contain; border-radius: 6px; background: #f8f9fa; }
.photo-edit-card { width: 150px; max-width: 100%; }
.photo-preview { width: 150px; max-width: 100%; height: 120px; object-fit: contain; border-radius: 6px; background: #f8f9fa; }
.photo-viewer-stage { position: relative; display: flex; justify-content: center; align-items: center; min-height: 240px; touch-action: pan-y pinch-zoom; }
.photo-viewer-stage .modal-img { max-height: 75vh; max-height: calc(100dvh - 180px); object-fit: contain; user-select: none; }
.photo-viewer-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; width: 44px; height: 56px; border: 0; border-radius: 6px; background: rgba(0,0,0,.65); color: #fff; font-size: 24px; }
.photo-viewer-arrow:hover { background: rgba(0,0,0,.9); }
.photo-viewer-arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.photo-viewer-prev { left: 8px; }
.photo-viewer-next { right: 8px; }
.item-photos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.item-photo-card { overflow: hidden; }
.item-photos-image { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: #f8f9fa; }
.item-photo-name { overflow-wrap: anywhere; }
.modal-body { padding: 2px;}
th {
  font-weight: normal;
}
.mb-3 .small.text-muted + figure.mb-0 {
  padding: 5px 5px 10px 5px;
  background: #fff;
  margin-top: 5px;
}
@media (max-width: 500px) {
.photo-viewer-arrow {
  display: none;
}
}