/* Load after style.css. Gallery layout plus site image-saving deterrents. */
/* Hide a selected dropdown even while Safari retains hover or focus. */
.site-navbar .site-navigation .site-menu .has-children.nav-dismissed > .dropdown {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
}
.site-navbar .site-navigation .site-menu .has-children:focus-within:not(.nav-dismissed) > .dropdown,
.site-navbar .site-navigation .site-menu .has-children.nav-open > .dropdown {
  opacity: 1;
  visibility: visible;
  margin-top: 0;
}
/* Discourage casual saving without interfering with taps, scrolling or sliders.
   This cannot prevent screenshots, direct downloads or browser developer tools. */
.site-wrap img,
.art-gallery .media-1,
.site-blocks-cover,
.twentytwenty-container {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.site-wrap img {
  -webkit-user-drag: none;
}
.art-gallery > .container-fluid {
  max-width: 1320px;
  padding-inline: 20px;
  margin-inline: auto;
}
.art-gallery .art-grid {
  --art-columns: 1;
  --art-gap: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--art-gap);
  margin: 0;
  position: relative;
}
.art-gallery .art-grid > div {
  flex: none;
  width: calc((100% - (var(--art-columns) - 1) * var(--art-gap)) / var(--art-columns));
  max-width: none;
  padding: 0 !important;
  margin: 0;
}
.art-gallery .art-grid.is-masonry > div {
  position: absolute;
  margin: 0;
}
.art-gallery .media-1 {
  margin: 0;
  border-radius: 12px;
  background: #f5f5f3;
  cursor: default;
}
.art-gallery .media-1 > img {
  display: block;
  width: 100%;
  height: auto;
  transform: none;
  transition: transform 300ms ease;
}
.art-gallery .media-1:after {
  background: linear-gradient(transparent 25%, rgba(0, 0, 0, .78));
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.art-gallery .media-1 .media-1-content {
  top: auto;
  bottom: 0;
  padding: 22px;
  text-align: left;
  transform: translateY(8px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 250ms ease, transform 250ms ease;
  pointer-events: none;
}
.art-gallery .media-1-content h4 {
  color: #fff;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  margin: 0 0 6px;
}
.art-gallery .media-1-content h4 p {
  font-size: .8rem;
  margin: 4px 0;
}
.art-gallery .media-1 .media-1-content .category {
  position: static;
  opacity: 1;
  visibility: visible;
  color: #fff;
  font-size: .7rem;
  letter-spacing: .1em;
}
.art-gallery .media-1.is-caption-open .media-1-content {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.art-gallery .media-1.is-caption-open:after {
  opacity: 1;
  visibility: visible;
}
.art-gallery .media-1:focus-visible {
  outline: 3px solid #177f73;
  outline-offset: 4px;
}
.art-gallery .twentytwenty-container {
  border-radius: 12px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .art-gallery .art-grid { --art-columns: 2; }
}
@media (min-width: 992px) {
  .art-gallery .art-grid { --art-columns: 3; }
}
/* Hover is handled by real mouse pointer events in gallery.js. This avoids
   sticky simulated hover/focus after touch taps, including hybrid tablets. */
@media (hover: hover) and (pointer: fine) {
  .art-gallery .media-1.is-caption-open > img { transform: scale(1.03); }
}
@media (prefers-reduced-motion: reduce) {
  .art-gallery .media-1,
  .art-gallery .media-1 *,
  .art-gallery .media-1:after { transition: none !important; }
  .art-gallery .media-1.is-caption-open > img { transform: none; }
}
