/**
 * Content Protection Styles for Wundersoul
 * Comprehensive text and media protection CSS
 */

/* Universal Text Selection Prevention */
.no-select,
.story-content,
.story-text,
article,
.prose,
.blog-content,
.crt-list-item,
.crt-item-title,
.content-protected {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  
  /* Additional protection attributes */
  -webkit-touch-callout: none !important;
  -webkit-tap-highlight-color: transparent !important;
  
  /* Prevent drag and drop */
  -webkit-user-drag: none !important;
  -khtml-user-drag: none !important;
  -moz-user-drag: none !important;
  -o-user-drag: none !important;
  user-drag: none !important;
}

/* Additional protection for specific story elements */
.story-content p,
.story-content h1,
.story-content h2,
.story-content h3,
.story-content h4,
.story-content h5,
.story-content h6,
.story-content blockquote,
.story-content em,
.story-content strong,
.story-content span,
.story-content div {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  
  /* Prevent highlighting */
  -webkit-touch-callout: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Blog content protection */
.blog-content,
.blog-content *,
.blog-item,
.blog-item * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* CRT content protection */
.crt-container,
.crt-container * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Audio player protection */
audio,
.audio-player,
.pixel-boombox,
.cassette-item,
.track-list,
.boombox-modal,
.boombox-modal *,
.player-pill,
.mini-player {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  
  /* Disable right-click on audio elements */
  pointer-events: auto;
}

/* Disable context menu specifically on audio elements */
audio {
  pointer-events: none;
}

audio::-webkit-media-controls {
  -webkit-user-select: none !important;
}

audio::-webkit-media-controls-panel {
  -webkit-user-select: none !important;
}

audio::-webkit-media-controls-play-button {
  -webkit-user-select: none !important;
}

audio::-webkit-media-controls-timeline {
  -webkit-user-select: none !important;
}

audio::-webkit-media-controls-current-time-display {
  -webkit-user-select: none !important;
}

audio::-webkit-media-controls-time-remaining-display {
  -webkit-user-select: none !important;
}

audio::-webkit-media-controls-volume-slider {
  -webkit-user-select: none !important;
}

/* Prevent text selection during drag operations */
.dragging,
.dragging * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Hide selection when it somehow occurs */
::selection {
  background: transparent !important;
  color: inherit !important;
}

::-moz-selection {
  background: transparent !important;
  color: inherit !important;
}

/* Prevent highlighting on mobile */
.no-select,
.content-protected {
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  -khtml-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Additional protection for story titles and metadata */
.story-title,
.story-byline,
.story-meta,
.story-tags,
.story-header,
.story-header * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Copyright notice */
.copyright-notice {
  position: fixed;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 5px 10px;
  font-size: 10px;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.3;
}

/* Print protection */
@media print {
  .story-content,
  .blog-content,
  .content-protected {
    display: none !important;
  }
  
  body::before {
    content: "This content is protected by copyright and cannot be printed.";
    display: block;
    text-align: center;
    font-size: 18px;
    margin: 50px;
  }
}

/* Mobile-specific protection */
@media (max-width: 768px) {
  .no-select,
  .content-protected,
  .story-content,
  .blog-content {
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    -khtml-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    
    /* Prevent long press menus */
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}

/* Disable image drag */
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;
}

/* Re-enable interactivity for necessary elements while keeping protection */
button,
a,
input,
select,
textarea,
.interactive {
  pointer-events: auto !important;
}

/* Ensure audio controls work but prevent right-click */
.audio-controls,
.boombox-controls,
.player-controls {
  pointer-events: auto !important;
}

.audio-controls *,
.boombox-controls *,
.player-controls * {
  pointer-events: auto !important;
}

/* Special protection for code blocks if any */
pre,
code {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Navigation should remain interactive */
nav,
nav *,
.nav,
.nav *,
.navigation,
.navigation * {
  pointer-events: auto !important;
}

/* But still protect nav text from selection */
nav,
nav *,
.nav,
.nav *,
.navigation,
.navigation * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}