/* ============================================================================
 * Camera cursor + shutter-flash — REMOVABLE FEATURE (added 2026-07-09)
 * TO REVERT COMPLETELY: delete the "camera cursor" enqueue block in functions.php.
 * (Optionally also delete this file, assets/js/camera-cursor.js, assets/img/camera-cursor.png.)
 * Behaviour: camera cursor for everyone on a mouse (hover+fine pointer); normal text
 * cursor kept inside form fields; nothing on touch; the click flash respects reduced-motion.
 * The html.sc-cam class is added by camera-cursor.js.
 * ========================================================================== */
@media (hover:hover) and (pointer:fine){
	html.sc-cam,
	html.sc-cam *{ cursor: url("../img/camera-cursor.png") 18 16, auto; }
	/* keep a usable text caret in editable fields */
	html.sc-cam input,
	html.sc-cam textarea,
	html.sc-cam select,
	html.sc-cam [contenteditable]{ cursor: text; }
}

/* shutter flash on click — a bright burst that radiates OUT from the pointer, plus a quick
   whole-screen exposure so it reads like a real camera flash. JS sets .go and the burst's left/top. */
.sc-flash-burst{
	position:fixed; z-index:2147483000; pointer-events:none;
	width:26px; height:26px; margin:-13px 0 0 -13px; border-radius:50%;
	background:radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 20%, rgba(255,253,251,.4) 46%, rgba(255,253,251,0) 70%);
	opacity:0; will-change:transform,opacity;
}
.sc-flash-burst.go{ animation:sc-burst .42s cubic-bezier(.15,.7,.3,1) forwards; }
@keyframes sc-burst{ 0%{ transform:scale(.15); opacity:1 } 100%{ transform:scale(40); opacity:0 } }

/* Only a subtle whole-screen tint (kept well below the WCAG general-flash threshold); the JS also
   throttles clicks so the flash can never fire 3+ times/second (WCAG 2.3.1 — photosensitivity safe). */
.sc-flash-screen{ position:fixed; inset:0; z-index:2147482999; background:#fff; opacity:0; pointer-events:none; }
.sc-flash-screen.go{ animation:sc-expose .34s ease-out forwards; }
@keyframes sc-expose{ 0%{ opacity:.2 } 45%{ opacity:.06 } 100%{ opacity:0 } }

@media (prefers-reduced-motion:reduce){ .sc-flash-burst,.sc-flash-screen{ display:none !important; } }
