/* ==========================================================================
   GLOBAL PREVENTION STYLES
   Prevents text selection, image dragging, and highlighting across all pages
   ========================================================================== */

/* Prevent text selection, dragging, and highlighting for all elements */
* {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-highlight: none;
  -moz-highlight: none;
  -ms-highlight: none;
  highlight: none;
  -webkit-text-highlight-color: transparent;
  -moz-text-highlight-color: transparent;
  -ms-text-highlight-color: transparent;
  text-highlight-color: transparent;
}

/* Prevent image dragging specifically */
img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  pointer-events: none;
}

/* Allow clickable images, SVGs, and divs */
img[onclick],
img[data-onclick],
img.clickable,
svg[onclick],
svg[data-onclick],
svg.clickable,
div[onclick],
div[data-onclick],
div.clickable,
span[onclick],
span[data-onclick],
span.clickable,
.faq-question,
.faq-item,
.interactive-element,
.clickable-element {
  pointer-events: auto !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  touch-action: manipulation;
}

/* Allow text selection for form inputs */
input, textarea, select {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  pointer-events: auto;
}

/* Allow text selection for modal content */
.modal-content,
.volunteer-modal-content,
.faq-content,
.news-content,
.highlight-content,
.event-content {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Prevent text selection for ALL text elements */
.text-content,
.text-smallcontent,
.text-important,
.text-button,
.text-sectitle,
.text-bigtitle,
p, h1, h2, h3, h4, h5, h6, span, div, a {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Prevent context menu on right-click */
* {
  -webkit-context-menu: none;
  -moz-context-menu: none;
  -ms-context-menu: none;
  context-menu: none;
}

/* Disable all transforms for specific CTA buttons only */
.merchandise-order-btn,
.cta-btn,
.cta-btn-activity,
.faq-cta-btn,
.lm-cta-buttons {
  transform: none !important;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  scale: 1 !important;
  -webkit-scale: 1 !important;
  -moz-scale: 1 !important;
  -ms-scale: 1 !important;
  transform-origin: center center !important;
  -webkit-transform-origin: center center !important;
  -moz-transform-origin: center center !important;
  -ms-transform-origin: center center !important;
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  touch-action: manipulation;
  cursor: pointer;
  pointer-events: auto;
}

/* Disable hover transforms for specific CTA buttons only */
.merchandise-order-btn:hover,
.cta-btn:hover,
.cta-btn-activity:hover,
.faq-cta-btn:hover,
.lm-cta-buttons:hover {
  transform: none !important;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  scale: 1 !important;
  -webkit-scale: 1 !important;
  -moz-scale: 1 !important;
  -ms-scale: 1 !important;
}

/* Disable active transforms for specific CTA buttons only */
.merchandise-order-btn:active,
.cta-btn:active,
.cta-btn-activity:active,
.faq-cta-btn:active,
.lm-cta-buttons:active {
  transform: none !important;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  scale: 1 !important;
  -webkit-scale: 1 !important;
  -moz-scale: 1 !important;
  -ms-scale: 1 !important;
  transform-origin: center center !important;
  -webkit-transform-origin: center center !important;
  -moz-transform-origin: center center !important;
  -ms-transform-origin: center center !important;
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
}

/* Disable focus transforms for specific CTA buttons only */
.merchandise-order-btn:focus,
.cta-btn:focus,
.cta-btn-activity:focus,
.faq-cta-btn:focus,
.lm-cta-buttons:focus {
  transform: none !important;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  scale: 1 !important;
  -webkit-scale: 1 !important;
  -moz-scale: 1 !important;
  -ms-scale: 1 !important;
}

/* Universal scaling prevention for specific buttons only */
.merchandise-order-btn:active,
.merchandise-order-btn:focus,
.merchandise-order-btn:hover,
.cta-btn:active,
.cta-btn:focus,
.cta-btn:hover,
.cta-btn-activity:active,
.cta-btn-activity:focus,
.cta-btn-activity:hover,
.faq-cta-btn:active,
.faq-cta-btn:focus,
.faq-cta-btn:hover,
.lm-cta-buttons:active,
.lm-cta-buttons:focus,
.lm-cta-buttons:hover {
  transform: scale(1) !important;
  -webkit-transform: scale(1) !important;
  -moz-transform: scale(1) !important;
  -ms-transform: scale(1) !important;
  scale: 1 !important;
  -webkit-scale: 1 !important;
  -moz-scale: 1 !important;
  -ms-scale: 1 !important;
  transform-origin: center center !important;
  -webkit-transform-origin: center center !important;
  -moz-transform-origin: center center !important;
  -ms-transform-origin: center center !important;
}

/* Ensure clickable elements work on mobile */
[onclick],
[data-onclick],
.clickable,
a[href],
img[onclick],
img[data-onclick],
img.clickable,
svg[onclick],
svg[data-onclick],
svg.clickable,
div[onclick],
div[data-onclick],
div.clickable,
span[onclick],
span[data-onclick],
span.clickable,
.faq-question,
.faq-item,
.interactive-element,
.clickable-element,
/* Essential interactive elements */
.landmark-btn,
.day-btn,
.event-card-container,
.event-card-link,
.event-card,
.highlight-card-container,
.highlight-card-link,
.highlight-card,
/* Landmark tabs */
.landmark-tabs li,
.landmark-tabs li span,
.landmark-tabs li img,
.castle-icon,
.castle-frame,
.castle-illustration,
/* Highlight detail images */
.highlight-detail-images,
.activity-image-column,
/* Area tabs in timetable */
.area-tabs-container,
.area-tabs-wrapper,
.area-tabs,
.area-tabs li,
/* News detail images */
.news-image-row,
.news-image-grid,
.news-image-item,
.clickable-image {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  touch-action: manipulation;
  cursor: pointer;
  pointer-events: auto;
}

/* Additional prevention for mobile devices */
@media (max-width: 768px) {
  * {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-highlight: none;
    -webkit-text-highlight-color: transparent;
  }
  
  /* Re-enable for inputs on mobile */
  input, textarea, select {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
  }
  
  /* Ensure clickable elements work on mobile */
  [onclick],
  [data-onclick],
  .clickable,
  a[href],
  button,
  .menu-bar-btn,
  .menu-bar-icon,
  .menu-bar-line,
  .sidebar,
  .sidebar-link,
  .sidebar-close-btn,
  .sidebar-close-icon,
  img[onclick],
  img[data-onclick],
  img.clickable,
  svg[onclick],
  svg[data-onclick],
  svg.clickable,
  div[onclick],
  div[data-onclick],
  div.clickable,
  span[onclick],
  span[data-onclick],
  span.clickable,
  .faq-question,
  .faq-item,
  .interactive-element,
  .clickable-element,
  /* Essential interactive elements */
  .landmark-btn,
  .day-btn,
  .event-card-container,
  .event-card-link,
  .event-card,
  .highlight-card-container,
  .highlight-card-link,
  .highlight-card,
  /* Landmark tabs */
  .landmark-tabs li,
  .landmark-tabs li span,
  .landmark-tabs li img,
  .castle-icon,
  .castle-frame,
  .castle-illustration,
  /* Highlight detail images */
  .highlight-detail-images,
  .activity-image-column,
  /* Area tabs in timetable */
  .area-tabs-container,
  .area-tabs-wrapper,
  .area-tabs,
  .area-tabs li,
  /* News detail images */
  .news-image-row,
  .news-image-grid,
  .news-image-item,
  .clickable-image {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    touch-action: manipulation;
    cursor: pointer;
    pointer-events: auto;
  }
}

/* JavaScript-based prevention (add this script to pages) */
/*
<script>
document.addEventListener('DOMContentLoaded', function() {
  // Prevent text selection
  document.addEventListener('selectstart', function(e) {
    e.preventDefault();
    return false;
  });
  
  // Prevent drag
  document.addEventListener('dragstart', function(e) {
    e.preventDefault();
    return false;
  });
  
  // Prevent context menu
  document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
    return false;
  });
  
  // Prevent keyboard shortcuts for copy/paste/select all
  document.addEventListener('keydown', function(e) {
    if (e.ctrlKey && (e.key === 'a' || e.key === 'c' || e.key === 'x' || e.key === 'v')) {
      e.preventDefault();
      return false;
    }
  });
});
</script>
*/
