body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% + 3840px);
  height: 100%;
  background-image: url('https://agenceslime.ca/wp-content/uploads/2026/05/FOND-SITE.png');
  background-repeat: repeat;
  background-size: 3840px 2160px;
  opacity: 1;
  z-index: 0;
  pointer-events: none;
  animation: bgScroll 300s linear infinite;
}

@keyframes bgScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-3840px); }
}

/* ── Azeret Mono everywhere ── */
@import url('https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@300;400;500;600&display=swap');

* {
  font-family: 'Azeret Mono', monospace !important;
  color: #ffffff !important;
}

/* ── Ninja Forms — field boxes ── */
.nf-field-container input,
.nf-field-container textarea,
.nf-field-container select {
  background: #000000 !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-family: 'Azeret Mono', monospace !important;
  outline: none !important;
}

.nf-field-container input:focus,
.nf-field-container textarea:focus,
.nf-field-container select:focus {
  border-color: #ffffff !important;
  box-shadow: none !important;
}

/* ── Ninja Forms — labels & asterisks ── */
.nf-field-label label,
.nf-field-label .nf-label-span,
.ninja-forms-req-symbol {
  color: #ffffff !important;
  font-family: 'Azeret Mono', monospace !important;
}

/* ── Ninja Forms — submit button ── */
.nf-field-container input[type="submit"],
.nf-field-container button[type="submit"] {
  background: #000000 !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-family: 'Azeret Mono', monospace !important;
  cursor: pointer !important;
}

/* ── Ninja Forms — placeholder text ── */
.nf-field-container input::placeholder,
.nf-field-container textarea::placeholder {
  color: rgba(255,255,255,0.4) !important;
}

/* Hide default cursor on desktop - every single element */
@media (hover: hover) and (pointer: fine) {
  *, *::before, *::after {
    cursor: none !important;
  }

  .custom-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 999999;
    background: white;
    mix-blend-mode: difference;
    transform: translate(-50%, -50%);
    transition: width 0.15s ease, height 0.15s ease;
  }

  .custom-cursor.is-hovering {
    width: 38px;
    height: 38px;
  }
}