/* APSAIDAL editorial media refinements for Elementor-driven Project / Heritage viewers. */
body.single-aps_project .apsaidal-elementor-media-frame,
body.single-aps_heritage .apsaidal-elementor-media-frame {
  position: relative;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 1px solid transparent;
  outline-offset: -1px;
  overflow: hidden;
  transition: outline-color .18s ease;
}

body.single-aps_project .apsaidal-elementor-media-card,
body.single-aps_project .apsaidal-elementor-media-card:hover,
body.single-aps_project .apsaidal-elementor-media-card:focus-within,
body.single-aps_project .apsaidal-elementor-media-card.is-active,
body.single-aps_project .apsaidal-elementor-media-card.swiper-slide-active,
body.single-aps_heritage .apsaidal-elementor-media-card,
body.single-aps_heritage .apsaidal-elementor-media-card:hover,
body.single-aps_heritage .apsaidal-elementor-media-card:focus-within,
body.single-aps_heritage .apsaidal-elementor-media-card.is-active,
body.single-aps_heritage .apsaidal-elementor-media-card.swiper-slide-active {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.single-aps_project .apsaidal-elementor-media-frame:hover,
body.single-aps_project .apsaidal-elementor-media-frame:focus-visible,
body.single-aps_project .apsaidal-elementor-media-frame.is-active,
body.single-aps_project .apsaidal-elementor-media-frame[aria-current="true"],
body.single-aps_project .apsaidal-elementor-media-frame[aria-selected="true"],
body.single-aps_heritage .apsaidal-elementor-media-frame:hover,
body.single-aps_heritage .apsaidal-elementor-media-frame:focus-visible,
body.single-aps_heritage .apsaidal-elementor-media-frame.is-active,
body.single-aps_heritage .apsaidal-elementor-media-frame[aria-current="true"],
body.single-aps_heritage .apsaidal-elementor-media-frame[aria-selected="true"] {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline-color: rgba(24,24,24,.42);
}

body.single-aps_project .apsaidal-elementor-media-frame::before,
body.single-aps_project .apsaidal-elementor-media-frame::after,
body.single-aps_project .apsaidal-elementor-media-card::before,
body.single-aps_project .apsaidal-elementor-media-card::after,
body.single-aps_heritage .apsaidal-elementor-media-frame::before,
body.single-aps_heritage .apsaidal-elementor-media-frame::after,
body.single-aps_heritage .apsaidal-elementor-media-card::before,
body.single-aps_heritage .apsaidal-elementor-media-card::after {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
}

body.single-aps_project .apsaidal-elementor-media-frame img,
body.single-aps_project .apsaidal-elementor-media-frame:hover img,
body.single-aps_project .apsaidal-elementor-media-frame:focus img,
body.single-aps_heritage .apsaidal-elementor-media-frame img,
body.single-aps_heritage .apsaidal-elementor-media-frame:hover img,
body.single-aps_heritage .apsaidal-elementor-media-frame:focus img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Known Elementor gallery / carousel overlays must never tint editorial imagery. */
body.single-aps_project .elementor-gallery-item__overlay,
body.single-aps_project .e-gallery-item__overlay,
body.single-aps_project .elementor-widget-gallery .e-gallery-item::before,
body.single-aps_project .elementor-widget-image-gallery .gallery-item a::before,
body.single-aps_project .elementor-widget-image-carousel .swiper-slide a::before,
body.single-aps_project .elementor-widget-media-carousel .swiper-slide a::before,
body.single-aps_heritage .elementor-gallery-item__overlay,
body.single-aps_heritage .e-gallery-item__overlay,
body.single-aps_heritage .elementor-widget-gallery .e-gallery-item::before,
body.single-aps_heritage .elementor-widget-image-gallery .gallery-item a::before,
body.single-aps_heritage .elementor-widget-image-carousel .swiper-slide a::before,
body.single-aps_heritage .elementor-widget-media-carousel .swiper-slide a::before {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
}

/* Remove image-position counts while preserving arrows, captions and credits. */
body.single-aps_project .elementor-slideshow__counter,
body.single-aps_project .swiper-pagination-fraction,
body.single-aps_project .apsaidal-elementor-media-counter,
body.single-aps_project [data-apsaidal-slider-counter],
body.single-aps_heritage .elementor-slideshow__counter,
body.single-aps_heritage .swiper-pagination-fraction,
body.single-aps_heritage .apsaidal-elementor-media-counter,
body.single-aps_heritage [data-apsaidal-slider-counter] {
  display: none !important;
}

/*
 * The live Single Project template predates the generic media layer and owns
 * its own media index / hero controls on the historical Project branch.
 * These selectors intentionally target that real DOM so global button styles
 * cannot paint focused gallery cards or controls with the APSAIDAL accent.
 */
body.single-aps_project .aps-project-media-index__card,
body.single-aps_project .aps-project-media-index__card:hover,
body.single-aps_project .aps-project-media-index__card:focus,
body.single-aps_project .aps-project-media-index__card:focus-visible,
body.single-aps_project .aps-project-media-index__card:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #242424 !important;
  outline: 0 !important;
}

body.single-aps_project .aps-project-media-index__card-meta,
body.single-aps_project .aps-project-media-index__card:hover .aps-project-media-index__card-meta,
body.single-aps_project .aps-project-media-index__card:focus .aps-project-media-index__card-meta,
body.single-aps_project .aps-project-media-index__card:active .aps-project-media-index__card-meta {
  display: block;
  background: transparent !important;
  background-color: transparent !important;
  color: #77716c !important;
}

body.single-aps_project .aps-project-media-index__card .aps-project-media-index__thumb {
  outline: 1px solid transparent !important;
  outline-offset: -1px !important;
  box-shadow: none !important;
}

body.single-aps_project .aps-project-media-index__card:hover .aps-project-media-index__thumb,
body.single-aps_project .aps-project-media-index__card:focus-visible .aps-project-media-index__thumb,
body.single-aps_project .aps-project-media-index__card:active .aps-project-media-index__thumb {
  outline: 1px solid rgba(24,24,24,.42) !important;
  outline-offset: -1px !important;
  background: #f1f1f1 !important;
}

body.single-aps_project .aps-project-media-index__close,
body.single-aps_project .aps-project-media-index__close:hover,
body.single-aps_project .aps-project-media-index__close:focus,
body.single-aps_project .aps-project-media-index__close:focus-visible,
body.single-aps_project .aps-project-media-index__close:active,
body.single-aps_project .aps-project-media-index__back,
body.single-aps_project .aps-project-media-index__back:hover,
body.single-aps_project .aps-project-media-index__back:focus,
body.single-aps_project .aps-project-media-index__back:focus-visible,
body.single-aps_project .aps-project-media-index__back:active {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.single-aps_project .aps-project-media-index__close:focus-visible,
body.single-aps_project .aps-project-media-index__back:focus-visible {
  outline: 1px solid rgba(24,24,24,.42) !important;
  outline-offset: 2px !important;
}

/* The live Project hero writes `1 / n` into this dedicated element. */
body.single-aps_project [data-aps-project-hero-count] {
  display: none !important;
}

/* Project hero credit: editorial, quiet, and visually attached to the image. */
body.single-aps_project .aps-project-hero__slide figcaption {
  right: var(--aps-project-credit-right, 12px) !important;
  bottom: var(--aps-project-credit-bottom, 8px) !important;
  max-width: 72% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #7a7d81 !important;
  font-size: 10.5px !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  letter-spacing: .005em !important;
  text-align: right !important;
  text-shadow: 0 1px 2px rgba(255,255,255,.94) !important;
}


/* Project Share icon normalization — 2026-09-21 */
/* iOS renders the historical diagonal-arrow glyph as a blue emoji. Keep the
 * existing action/button behavior, but replace only its presentation with a
 * neutral vector share icon and text. */
body.single-aps_project .aps-project-share-action--normalized {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
body.single-aps_project .aps-project-share-action--normalized > * {
  display: none !important;
}
body.single-aps_project .aps-project-share-action--normalized::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 15V4M12 4 8 8M12 4l4 4M5 13v6h14v-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 15V4M12 4 8 8M12 4l4 4M5 13v6h14v-6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
body.single-aps_project .aps-project-share-action--normalized::after {
  content: "Share" !important;
  display: block !important;
  font-family: "Source Sans Pro", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
