.protect-zone,
.copy-protect-zone,
[data-copy-protect="true"] {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  user-drag: none !important;
  -webkit-touch-callout: none !important;
}

.protect-zone img,
.copy-protect-zone img,
[data-copy-protect="true"] img {
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

.protect-zone ::selection,
.copy-protect-zone ::selection,
[data-copy-protect="true"] ::selection {
  background: transparent;
  color: inherit;
}

.protect-zone ::-moz-selection,
.copy-protect-zone ::-moz-selection,
[data-copy-protect="true"] ::-moz-selection {
  background: transparent;
  color: inherit;
}

.protect-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-family: 'IBM Plex Mono', monospace;
  font-size: .6rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--dim, #555);
  padding: .25rem .6rem;
  border: 1px solid var(--line, rgba(255,255,255,.08));
  margin-bottom: .8rem;
  user-select: none;
}

.protect-badge::before {
  content: "LOCK";
  font-size: .55rem;
}

@media print {
  .protect-zone,
  .copy-protect-zone,
  [data-copy-protect="true"],
  [data-print-locked="true"] {
    display: none !important;
  }

  body.copy-protect-active::before {
    content: "Protected content. PDF export is available to admins only.";
    display: block;
    padding: 2rem;
    font-family: Arial, sans-serif;
    color: #111;
  }

  .no-print {
    display: none !important;
  }
}

[data-theme="light"] .protect-badge {
  color: #777;
  border-color: rgba(0,0,0,.1);
}
