.single-post .Collage img,
.single-post .Image_Wrapper img { max-width: 100%; height: auto; display: inline-block; vertical-align: bottom; }
.single-post video:not(.wp-video-shortcode) { max-width: 100% !important; height: auto !important; }
/* Keep the full-width video stage dark while respecting the media's native ratio. */
body.single-post .wp-video.elav-video-stage { width: 100% !important; max-width: 100% !important; display: flex; justify-content: center; background: #0a0a0a; }
body.single-post .elav-video-stage .mejs-container {
  width: min(100%, var(--elav-video-width)) !important;
  height: auto !important;
  aspect-ratio: var(--elav-video-ratio);
}
body.single-post .elav-video-stage video.wp-video-shortcode {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}
body.single-post .elav-video-tile .wp-video.elav-video-stage,
body.single-post .elav-video-tile .mejs-container {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto;
}
body.single-post .elav-video-tile .wp-video.elav-video-stage { display: block; }
@media (max-width: 600px) {
  body.single-post .Collage.has-shortcode-video .Image_Wrapper {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  body.single-post .Collage.has-shortcode-video .Image_Wrapper img { width: 100% !important; height: auto !important; }
  body.single-post .Collage.has-shortcode-video .elav-video-tile { aspect-ratio: var(--elav-video-ratio, 678 / 1016); }
}
.Collage .Image_Wrapper > video.vid { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.Collage .Image_Wrapper.has-poster > video.vid:not(.is-playing) { visibility: hidden; }
.Collage .Image_Wrapper.has-video > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.Collage .Image_Wrapper > .overlay { z-index: 2; }
body.page-template-contact.header-on-dark header .logo,
body.page-template-contact.header-on-dark header nav a { color: #000 !important; text-shadow: none !important; }
body.page-template-contact.header-on-dark #nav-toggle span,
body.page-template-contact.header-on-dark #nav-toggle span:before,
body.page-template-contact.header-on-dark #nav-toggle span:after { background-color: #000 !important; }
body.single-post { margin: 0 !important; padding: 0 !important; }
body.single-post #page-wrap { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.single-post .entry, body.single-post .entry-content { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.single-post .Collage { margin: 0 !important; padding: 0 !important; width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; }
body.single-post .Image_Wrapper { margin: 0 !important; }
body.single-post header { position: fixed; top: 0; left: 0; right: 0; z-index: 10000; background: transparent !important; }
body.single-post .entry-title { position: absolute; left: -9999px; }
#elav-title-overlay {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 10001;
  color: #fff;
  font-size: 14px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-align: left;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  pointer-events: none;
  padding: 0 6px;
}
#elav-title-overlay.elav-video-title { position: absolute; top: auto; bottom: 24px; left: 24px; }
body.admin-bar.single-post header#wrap,
body.admin-bar.single-post header#inner { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar.single-post header#wrap,
  body.admin-bar.single-post header#inner { top: 46px !important; }
}
@media (max-width: 768px) { #elav-title-overlay { bottom: 18px; left: 18px; font-size: 12px; letter-spacing: .12em; } }

.bruce-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .95);
  color: #fff;
}
.bruce-lightbox.active { display: flex; }
.bruce-lightbox .lightbox-content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 95vw;
  max-height: 95vh;
}
.bruce-lightbox .lightbox-image {
  max-width: 100%;
  max-height: 95vh;
  object-fit: contain;
  box-shadow: 0 0 50px rgba(0, 0, 0, .8);
}
.bruce-lightbox .lightbox-caption {
  position: absolute;
  bottom: -50px;
  left: 0;
  font: 300 16px 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.bruce-lightbox .lightbox-caption[hidden] { display: none; }
.bruce-lightbox button {
  color: #fff;
  cursor: pointer;
}
.bruce-lightbox button:focus-visible,
.Collage img[role="button"]:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.bruce-lightbox .lightbox-close {
  position: absolute;
  top: 30px;
  right: 30px;
  border: 0;
  background: none;
  font-size: 30px;
  padding: 10px;
}
.bruce-lightbox .lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: rgba(255, 255, 255, .1);
  font-size: 40px;
  padding: 15px 12px;
}
.bruce-lightbox .lightbox-prev { left: 30px; }
.bruce-lightbox .lightbox-next { right: 30px; }
.bruce-lightbox .lightbox-counter {
  position: absolute;
  top: 30px;
  left: 30px;
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  letter-spacing: 1px;
}
.bruce-lightbox .lightbox-toggle {
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 14px;
  background: rgba(255, 255, 255, .12);
  font-size: 12px;
  padding: 3px 7px;
}
@media (max-width: 768px) {
  .bruce-lightbox .lightbox-caption { bottom: -40px; font-size: 13px; }
  .bruce-lightbox .lightbox-nav { padding: 10px 8px; }
  .bruce-lightbox .lightbox-prev { left: 5px; }
  .bruce-lightbox .lightbox-next { right: 5px; }
}
