.mm-gallery-photo {
  position: relative;
  display: block;
  overflow: hidden;
}
.mm-gallery-photo > img:first-child {
  width: 100%;
  height: 100%;
}
.mm-gallery-photo > .mm-gallery-mark,
.mm-gallery-preview > img {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: clamp(32px, 13%, 62px);
  height: auto;
  padding: 5px;
  background: #173c35df;
  border-radius: 50%;
  pointer-events: none;
  transform: none;
}
.mm-gallery-intro {
  height: 470px;
  border-radius: 180px 180px 0 0;
}
.mm-gallery-intro > img:first-child {
  object-fit: cover;
  object-position: center 53%;
}
.mm-gallery-intro > .mm-gallery-mark {
  right: 14px;
  bottom: 14px;
}
@media (max-width: 1150px) {
  .mm-gallery-intro { height: 420px; }
}
@media (max-width: 650px) {
  .mm-gallery-intro { height: 370px; }
}
.mm-gallery-categories {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-block-end: .6rem;
}
.mm-gallery-categories[hidden] { display: none; }
.mm-gallery-categories button {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--green);
  padding: .35rem .85rem;
}
.mm-gallery-categories button[aria-pressed="true"] {
  color: var(--ivory);
  background: var(--green);
  border-color: var(--green);
}
.mm-gallery-slide {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: .5rem;
}
.mm-gallery-slide .mm-gallery-photo > img:first-child { object-fit: contain; }
.mm-gallery-slide:hover .mm-gallery-mark { transform: none; }
.mm-gallery-caption {
  color: var(--green);
  text-align: left;
  padding: .2rem .4rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.mm-gallery-caption:empty { display: none; }
.mm-gallery-lightbox-caption {
  margin: .25rem .65rem;
  color: #f7f3e9;
  background: #173c35;
  text-align: center;
  padding: .4rem .65rem;
  overflow-wrap: anywhere;
}
#lightbox .mm-gallery-photo > img:first-child {
  width: auto;
  height: auto;
  max-height: 75svh;
}
#lightbox .mm-gallery-photo {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
.mm-gallery-editor { display: grid; gap: 1rem; }
.mm-gallery-preview {
  position: relative;
  justify-self: center;
  line-height: 0;
}
.mm-gallery-preview canvas {
  max-width: 100%;
  max-height: 46vh;
  object-fit: contain;
}
.mm-gallery-editor input[type="range"] { padding: 0; }
.mm-gallery-admin-category { margin: .3rem 0; }
