/* Content protection CSS — balanced for accessibility
   Screen readers and keyboard users remain supported. */

/* Block text selection on visual content only (not body/html → preserves a11y) */
h1, h2, h3, h4, h5, h6, p, li, span, section, article, aside, header, footer, nav, main {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

/* Always allow selection in form fields */
input, textarea, [contenteditable="true"], [role="textbox"] {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

/* Images: block drag but keep clickability/a11y */
img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}

/* Visible focus (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #fbbf24 !important;
  outline-offset: 2px !important;
  border-radius: 2px;
}

/* Skip-to-content */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: #fbbf24;
  color: #022c22;
  padding: 12px 20px;
  z-index: 9999;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0 0 6px 0;
}
.skip-link:focus {
  left: 0;
  outline: 3px solid #022c22;
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Print — short attribution */
@media print {
  body * { visibility: hidden !important; }
  body:before {
    content: "Copy Shop Putney | 07376 464869 | copyshopputney.co.uk";
    visibility: visible;
    display: block;
    font-family: sans-serif;
    font-size: 14px;
    padding: 40px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
