/**
 * CAAF Media Protection — capa CSS.
 *
 * IMÁGENES: pointer-events:none bloquea click derecho, arrastre y tap.
 * VIDEO/AUDIO: NO se usa pointer-events:none — rompería los controles
 *   nativos del reproductor. El bloqueo lo maneja el JS con un overlay.
 */

/* ═══════════════════════════════════════════════════════════════════════════
   IMÁGENES — bloqueo total de interacciones
   ═══════════════════════════════════════════════════════════════════════════ */

img[src*="/protected-file/"],
img[src*="/sites/default/files/"],
.protected-media img,
.field--type-image img,
.media-entity-image img {

  /* Arrastre nativo del navegador (drag to desktop / drag to tab) */
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  user-drag: none;

  /* Selección como elemento de texto */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  /* Menú contextual nativo de iOS Safari:
     "Guardar imagen", "Copiar imagen", "Compartir imagen" */
  -webkit-touch-callout: none;

  /* Bloquear TODOS los eventos de puntero: click derecho, arrastre,
     tap largo, selección. El JS agrega una segunda capa de bloqueo. */
  pointer-events: none;
}

/* Evitar que imágenes aparezcan seleccionadas */
img[src*="/protected-file/"]::selection,
img[src*="/sites/default/files/"]::selection,
.protected-media img::selection {
  background: transparent;
}

/* ═══════════════════════════════════════════════════════════════════════════
   VIDEO — bloqueo de menú contextual sin romper controles del reproductor
   ═══════════════════════════════════════════════════════════════════════════

   Estrategia: el JS envuelve el <video> en .caaf-media-wrap y añade
   .caaf-media-overlay encima. El overlay tiene pointer-events:none para
   que los controles nativos (debajo) sigan recibiendo clicks.
   El JS bloquea contextmenu directamente en el elemento video.
   ═══════════════════════════════════════════════════════════════════════════ */

.caaf-media-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}

/* El overlay cubre la superficie pero no bloquea los controles. */
.caaf-media-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none; /* los controles del reproductor están debajo */
}

/* Video y audio sin touch-callout (iOS) */
video[src*="/protected-file/"],
video[src*="/sites/default/files/"],
audio[src*="/protected-file/"],
audio[src*="/sites/default/files/"],
.protected-media video,
.protected-media audio {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  /* SIN pointer-events:none — los controles del reproductor lo necesitan */
}

/* ═══════════════════════════════════════════════════════════════════════════
   ARRASTRE GLOBAL — complementa pointer-events para imágenes
   ═══════════════════════════════════════════════════════════════════════════ */

img[src*="/protected-file/"],
img[src*="/sites/default/files/"],
.protected-media img {
  -moz-user-focus: ignore;  /* Firefox: ignora el foco al arrastrar */
}
