/* Custom Fonts */
@font-face {
  font-family: 'NewEdge666-LightRounded';
  src: url('../fonts/NewEdge666-LightRounded.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NewEdge666-UltraLightRounded';
  src: url('../fonts/NewEdge666-UltraLightRounded.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'NewEdge666-Light';
  src: url('../fonts/NewEdge666-Light.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'SerifbabeALPHA-Regular';
  src: url('../fonts/SerifbabeALPHA-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ---- Custom Cursor ---- */
.cursor-circle {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background: white;
  pointer-events: none;
  transform: translate(-50%, -50%);
  filter: blur(15px);
  z-index: 9999;
  border-radius: 50%;
}

.cursor-cross {
  position: fixed;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 10000;
}

.cursor-cross::before,
.cursor-cross::after {
  content: '';
  position: absolute;
  background: #000;
}

.cursor-cross::before {
  width: 12px;
  height: 1px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cursor-cross::after {
  width: 1px;
  height: 12px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* White outline container */
.cursor-cross-outline {
  position: fixed;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9999;
}

.cursor-cross-outline::before,
.cursor-cross-outline::after {
  content: '';
  position: absolute;
  background: #fff;
}

.cursor-cross-outline::before {
  width: 14px;
  height: 1.5px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cursor-cross-outline::after {
  width: 1.5px;
  height: 14px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Hover effect for clickable elements */
.cursor-cross.hover {
  width: 14px;
  height: 14px;
}

.cursor-cross.hover::before {
  width: 14px;
  height: 1.5px;
  border-radius: 2px;
}

.cursor-cross.hover::after {
  width: 1.5px;
  height: 14px;
  border-radius: 1.5px;
}

/* ---- Hide Default Cursor ---- */
* {
  cursor: none !important;
}

/* Hide cursor for all elements including interactive ones */
a, button, input, textarea, select, [role="button"], [tabindex] {
  cursor: none !important;
}

/* Hide cursor for text input areas too */
input[type="text"], input[type="email"], input[type="password"], input[type="search"], 
textarea, [contenteditable="true"] {
  cursor: none !important;
}

/* Force hide cursor on all pseudo-elements and browser elements */
*::before, *::after {
  cursor: none !important;
}

/* Hide cursor on video elements */
video {
  cursor: none !important;
}

/* Hide cursor on iframe elements */
iframe {
  cursor: none !important;
}

/* Force hide cursor on body and html */
html, body {
  cursor: none !important;
}

/* Hide cursor on all interactive elements */
[onclick], [onmousedown], [onmouseup], [onmouseover], [onmouseout] {
  cursor: none !important;
}
