html {
  background-color: #333333 !important;
  color: inherit;
}

.thumb-img {
  border-color: #333333 !important;
}

#loupeContainer div.background {
  background-color: #333333 !important;
  color: inherit;
}

header div.background {
  background-color: #333333 !important;
  color: inherit;
}

.custom-colorable {
  fill: #A0A0A0 !important;
}

body {
  background-color: #333333 !important;
  color: #828282 !important;
}

/* ---- Home page gallery grid ---- */
.gallery-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  box-sizing: border-box;
}

.gallery-card {
  flex: 1 1 300px;
  position: relative;
  height: 280px;
  overflow: hidden;
  display: block;
  text-decoration: none;
  background: #222;
}

.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.gallery-card:hover img {
  transform: scale(1.05);
}

/* ---- Home page promo banner ---- */
#promo-wrapper {
  padding: 0 !important;
  min-height: 45vh;
  background-size: 192px 192px, cover !important;
  background-position: center center !important;
}

.gallery-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px 16px 16px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
  color: #fff;
  font-size: 1.1em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
}
