/**
 * Estilos para protecciones universales de NovyMark Security
 * Aplicadas a todos los dispositivos independientemente del targeting
 */

/* Bloqueo de selección de texto universal */
* {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Excepciones para campos de formulario */
input[type='text'],
input[type='email'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='url'],
input[type='number'],
textarea,
select {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

/* Bloqueo de arrastre de imágenes */
img {
  -webkit-user-drag: none !important;
  -khtml-user-drag: none !important;
  -moz-user-drag: none !important;
  -o-user-drag: none !important;
  user-drag: none !important;
  pointer-events: none !important;
}

/* Excepciones para imágenes en formularios */
input[type='image'],
button img,
a img {
  pointer-events: auto !important;
}

/* Bloqueo de selección en elementos específicos */
.novymark-protected {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  -khtml-user-drag: none !important;
  -moz-user-drag: none !important;
  -o-user-drag: none !important;
  user-drag: none !important;
}

/* Estilos para overlay de bloqueo */
#novymark-security-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: #000 !important;
  color: #fff !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: sans-serif !important;
  cursor: not-allowed !important;
}

/* Bloqueo de impresión universal */
@media print {
  * {
    display: none !important;
  }

  body::before {
    content: '🔒 Impresión bloqueada por seguridad' !important;
    display: block !important;
    text-align: center !important;
    font-size: 24px !important;
    color: #000 !important;
  }
}

/* Protección adicional para contenido sensible */
.novymark-sensitive {
  position: relative !important;
  overflow: hidden !important;
}

.novymark-sensitive::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Animaciones para indicar protección */
@keyframes novymark-protection-pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}

.novymark-protected {
  animation: novymark-protection-pulse 2s infinite;
}

/* Responsive para móviles y dispositivos modernos */
@media (max-width: 768px) {
  #novymark-security-overlay h1 {
    font-size: 24px !important;
  }

  #novymark-security-overlay p {
    font-size: 16px !important;
  }
}

/* Mejoras específicas para iPhone 15 Pro Max y dispositivos modernos */
@media screen and (max-width: 430px) and (max-height: 932px) {
  #novymark-security-overlay {
    padding: 20px !important;
  }

  #novymark-security-overlay h1 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  #novymark-security-overlay p {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
}

/* Soporte para pantallas de alta densidad */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  #novymark-security-overlay {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
  }
}

/* Mejoras para dispositivos táctiles */
@media (hover: none) and (pointer: coarse) {
  .novymark-protected {
    -webkit-tap-highlight-color: transparent !important;
    -webkit-touch-callout: none !important;
  }
}
