/* ==========================================================
   V56 — Poster-hover arrow standard
   Arrows appear only while the pointer is moving/active inside
   the relevant poster/media area, then fade quickly when idle
   or immediately after leaving the media.
   ========================================================== */
:root {
  --v56-arrow-fade: 150ms;
}

/* Override older hover rules: an arrow being hovered by itself does not
   keep it visible forever. Visibility is controlled by the media host. */
.simple-slider-arrow,
.carousel-arrow,
.video-coverflow-nav,
.campaign-coverflow-nav,
.artist-carousel-arrow,
.subsidy-carousel-arrow {
  opacity: 0 !important;
  visibility: visible !important;
  transform: translateZ(0) scale(.94) !important;
  transition:
    opacity var(--v56-arrow-fade) ease,
    transform var(--v56-arrow-fade) ease,
    border-color 140ms ease,
    color 140ms ease,
    box-shadow 140ms ease !important;
}

.simple-slider-arrow.v56-arrow-visible,
.carousel-arrow.v56-arrow-visible,
.video-coverflow-nav.v56-arrow-visible,
.campaign-coverflow-nav.v56-arrow-visible,
.artist-carousel-arrow.v56-arrow-visible,
.subsidy-carousel-arrow.v56-arrow-visible,
.simple-slider-arrow:focus-visible,
.carousel-arrow:focus-visible,
.video-coverflow-nav:focus-visible,
.campaign-coverflow-nav:focus-visible,
.artist-carousel-arrow:focus-visible,
.subsidy-carousel-arrow:focus-visible {
  opacity: .96 !important;
  transform: translateZ(0) scale(1) !important;
}

/* Defeat v55's direct :hover reveal unless the media host has activated it. */
.simple-slider-arrow:hover:not(.v56-arrow-visible),
.carousel-arrow:hover:not(.v56-arrow-visible),
.video-coverflow-nav:hover:not(.v56-arrow-visible),
.campaign-coverflow-nav:hover:not(.v56-arrow-visible),
.artist-carousel-arrow:hover:not(.v56-arrow-visible),
.subsidy-carousel-arrow:hover:not(.v56-arrow-visible),
.simple-slider-arrow.v55-arrow-visible:not(.v56-arrow-visible),
.carousel-arrow.v55-arrow-visible:not(.v56-arrow-visible),
.video-coverflow-nav.v55-arrow-visible:not(.v56-arrow-visible),
.campaign-coverflow-nav.v55-arrow-visible:not(.v56-arrow-visible),
.artist-carousel-arrow.v55-arrow-visible:not(.v56-arrow-visible),
.subsidy-carousel-arrow.v55-arrow-visible:not(.v56-arrow-visible) {
  opacity: 0 !important;
  transform: translateZ(0) scale(.94) !important;
}

/* Outer coverflow arrows remain hidden on touch layouts, preserving the
   tap/swipe navigation standard already used by the portfolio. */
@media (hover:none), (pointer:coarse), (max-width:760px) {
  .video-coverflow-nav,
  .campaign-coverflow-nav,
  .artist-series-controls,
  .mobile-artist-switcher,
  .subsidy-series-nav { display:none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .simple-slider-arrow,
  .carousel-arrow,
  .video-coverflow-nav,
  .campaign-coverflow-nav,
  .artist-carousel-arrow,
  .subsidy-carousel-arrow { transition:none !important; }
}
