/* PaulBoothArt.com casual image-download protection.
   This deters right-click saving, dragging and long-press menus.
   It cannot prevent screenshots or determined browser inspection. */

html,
body,
img,
video,
.project-card,
.realm-card,
.machine-card,
.motion-screen,
.about-photo-frame,
.dialog-visual,
.video-card,
.youtube-fallback-poster {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
}

img,
.project-visual img,
.machine-card img,
.motion-screen img,
.about-photo-frame img,
.dialog-image,
.youtube-fallback-poster,
.official-logo,
.hero-medallion-face {
  -webkit-user-drag: none !important;
  user-drag: none !important;
  pointer-events: none !important;
}

/* The parent cards remain clickable even though their image layer is inert. */
.project-card,
.realm-card,
.machine-card,
.motion-screen,
.about-photo-frame,
.dialog-visual,
.video-card {
  position: relative;
}

/* Invisible interaction shield over visual assets. */
.project-card::after,
.machine-card::after,
.motion-screen::before,
.about-photo-frame::after,
.dialog-visual::after,
.video-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 12;
  background: transparent;
  pointer-events: none;
}

/* Direct full-resolution image links are intentionally removed. */
.dialog-original {
  display: none !important;
}

.pb-image-protection-notice {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 9999;
  transform: translate(-50%, 18px);
  max-width: min(90vw, 460px);
  padding: 12px 16px;
  border: 1px solid rgba(163, 38, 30, .72);
  background: rgba(5, 5, 5, .94);
  color: #e8e1d3;
  font: 500 10px/1.45 Oxanium, Arial, sans-serif;
  letter-spacing: .11em;
  text-align: center;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .65);
}

.pb-image-protection-notice.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}
