/* Shared materials for the gallery, its labels, and the exhibit records. */
body {
  --museum-brass:#a58b52;
  --museum-brass-light:#d8c491;
  --museum-brass-shadow:#584729;
  --museum-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23808080' opacity='.13' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  background-image:var(--museum-grain);
}
.archive-header, .view-mode-bar, .catalogue, .curator, .archive-footer,
.record-dialog, .record-navigation, .record-bar, .record-hero, .record-body,
.record-images, .record-next, .image-scroll, .image-bar, .image-nav,
.exhibit-label, .exhibit-pagination, .room-nav, .museum-loader {
  background-image:var(--museum-grain);
  background-repeat:repeat;
  background-size:180px 180px;
}
.museum {
  background-color:#243a31;
  background-image:linear-gradient(#101e19d9,#101e19d9),url('images/museum-wallpaper.jpg');
  background-size:auto,560px 560px;
  background-repeat:repeat;
  background-blend-mode:normal;
}
.museum::before { background:#07151020; }
.curator, .record-hero, .record-images, .record-next, .museum-loader {
  --wall-wash:#152d23c7;
  background-image:linear-gradient(var(--wall-wash),var(--wall-wash)),url('images/museum-wallpaper.jpg');
  background-size:auto,560px 560px;
  background-repeat:repeat;
  background-blend-mode:normal;
}
.curator, .record-next { --wall-wash:#30232ed1; background-color:#30232e; }
.record-dialog[data-room=services] .record-hero { --wall-wash:#39252dd1; }
.record-hero::before { background:none; }
.catalogue, .record-dialog, .record-body {
  background-color:#202d2b;
  color:#ede5d1;
  background-image:linear-gradient(#172421ed,#172421ed),url('images/museum-marble.jpg');
  background-size:auto,900px 900px;
  background-repeat:repeat;
}
.archive-footer, .image-scroll {
  background-color:#203738;
  background-image:linear-gradient(#203738eb,#203738eb),url('images/museum-marble.jpg');
  background-size:auto,900px 900px;
  background-blend-mode:normal;
}
#exhibit-open, .catalogue .card-image,
.record-dialog .record-cover, .record-dialog .record-image-button,
.record-dialog .next-exhibition img, #full-image {
  border:6px solid var(--museum-brass);
  border-radius:2px;
  outline:1px solid var(--museum-brass-shadow);
  outline-offset:1px;
  padding:5px;
  background-color:var(--museum-brass-light);
  background-image:var(--museum-grain);
  box-shadow:inset 0 0 0 2px var(--museum-brass-shadow),inset 0 0 0 4px var(--museum-brass-light),0 8px 20px #07151040;
}
#exhibit-open { border-width:12px; padding:6px; }
.catalogue .catalogue-card:nth-child(n) .card-image { background-color:var(--museum-brass-light); }
.catalogue .catalogue-grid[data-view=list] .card-image { padding:5px; }
.record-dialog .record-cover, .record-dialog .record-image-button { padding:5px; }
.exhibit-label, .exhibit-pagination, .room-nav { border-radius:2px; }
.exhibit-label { border-color:var(--museum-brass); }
.frame-action { border-radius:2px; }
.museum-fragment, .room-collage img, .reading-vignette img {
  filter:saturate(.78) sepia(.12) contrast(.96) drop-shadow(0 10px 12px #07151050);
}
.depth-layer canvas { filter:saturate(.78) sepia(.12) contrast(.96); }

/* Frame-mounted picture lights keep their position when artwork dimensions change. */
.catalogue .card-image, .record-dialog .record-cover,
.record-dialog .record-image-button { position:relative; overflow:visible; margin-top:40px; }
#exhibit-open::before,
.catalogue .card-image::before,
.record-dialog .record-cover::before,
.record-dialog .record-image-button::before {
  content:'';
  position:absolute;
  z-index:2;
  top:-38px;
  left:50%;
  transform:translateX(-50%);
  width:clamp(72px,34%,180px);
  height:10px;
  border:1px solid #d8c491;
  border-bottom:2px solid #675334;
  border-radius:3px;
  background:linear-gradient(#cfb979,#947c49);
  box-shadow:0 2px 2px #fff0c070,0 10px 18px 3px #ffe5a81a;
  pointer-events:none;
}
.exhibit > .picture-light, .record-display > .picture-light { display:none; }
.catalogue .catalogue-grid[data-view=list] .card-image { margin-top:0; }
.catalogue .catalogue-grid[data-view=list] .card-image::before { display:none; }

.catalogue .section-heading .small-type, .catalogue .section-heading h2 em,
.catalogue .card-title svg, .record-body .small-type { color:#d8c491; }
.catalogue .card-caption, .catalogue .card-name, .catalogue .search-field input { color:#ede5d1; }
.catalogue .card-caption .small-type, .catalogue .card-description,
.catalogue .search-field input::placeholder, .record-chapter-visual figcaption { color:#bfcbbf; }
.catalogue .catalogue-toolbar, .record-body .record-chapter { border-color:#bfcbbf40; }
.catalogue .view-switch button { color:#ede5d1; }
.catalogue .view-switch button[aria-pressed=true] { background:#d8c491; color:#172421; }
.catalogue .card-id { color:#283f38; }
.museum-light-toggle { color:#d8c491; border-radius:50%; }
.museum-light-toggle[aria-pressed=true] { background:#d8c49122; box-shadow:0 0 14px #ffe5a82b; }
.museum-light-toggle svg { width:20px; height:20px; }
.header-links { align-items:center; }
.catalogue-grid { padding-top:16px; }

#exhibit-open:not([aria-busy=true])::after,
.catalogue .card-image::after,
.record-dialog .record-cover::after,
.record-dialog .record-image-button::after {
  content:'';
  position:absolute;
  /* The wash lives above the frame; its transparent tail just reaches the image. */
  inset:-70px -12px auto;
  height:90px;
  background:radial-gradient(ellipse at 50% 38%,#ffefbd20 0%,#ffefbd10 35%,#ffefbd03 64%,transparent 78%);
  filter:blur(9px);
  pointer-events:none;
  z-index:1;
  opacity:1;
  transition:opacity .25s;
}
.museum-lights-off #exhibit-open::before,
.museum-lights-off .catalogue .card-image::before,
.museum-lights-off .record-dialog .record-cover::before,
.museum-lights-off .record-dialog .record-image-button::before { box-shadow:0 3px 4px #0006; }
.museum-lights-off #exhibit-open:not([aria-busy=true])::after,
.museum-lights-off .catalogue .card-image::after,
.museum-lights-off .record-dialog .record-cover::after,
.museum-lights-off .record-dialog .record-image-button::after { opacity:0; }
.catalogue-grid[data-view=list] .card-image::after { display:none; }
@media(prefers-reduced-motion:reduce) {
  #exhibit-open::after, .card-image::after, .record-cover::after, .record-image-button::after { transition:none; }
}
@media(max-width:600px) {
  .museum, .curator, .record-hero, .record-images, .record-next, .museum-loader { background-size:auto,360px 360px; }
  .catalogue, .record-dialog, .record-body { background-size:auto,600px 600px; }
  #exhibit-open { border-width:8px; padding:5px; }
  .catalogue .card-image, .record-dialog .record-cover,
  .record-dialog .record-image-button, #full-image { border-width:4px; }
}
