/* ── Aeonik Trial — self-hosted woff2 ── */
@font-face {
  font-family: "Aeonik";
  src: url("/assets/fonts/aeonik/Aeonik-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src: url("/assets/fonts/aeonik/Aeonik-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src: url("/assets/fonts/aeonik/Aeonik-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src: url("/assets/fonts/aeonik/Aeonik-RegularItalic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src: url("/assets/fonts/aeonik/Aeonik-Bold.woff2") format("woff2");
  font-weight: 500 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src: url("/assets/fonts/aeonik/Aeonik-BoldItalic.woff2") format("woff2");
  font-weight: 500 700;
  font-style: italic;
  font-display: swap;
}

* {
  font-family: "Aeonik", sans-serif;
}

/* Form elements don't inherit font-family from * in most browsers — force it */
input, button, select, textarea, optgroup {
  font-family: inherit;
  font-size: inherit;
}

body {
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  width: 100%;
  text-rendering: optimizeLegibility;
}

.file-upload {
  display: block;
  height: 100%;
  width: 200%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  right: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 9;
}

input::-webkit-file-upload-button {
  display: block;
  height: 100%;
  width: 200%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0%;
  right: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 9;
}

.shouldCover {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  display: flex;
  flex-direction: column;
}

input,
input:focus,
input:active,
input:focus-visible {
  outline: 0px solid transparent !important;
}

input::placeholder {
  font-weight: 300;
}

input:-internal-autofill-selected {
  background: transparent !important;
}

html {
  font-family: "Aeonik", sans-serif !important;
}

.ErrorCounter-dark,
.ErrorCounter {
  z-index: -1;
  width: 125px;
  height: 35px;
  position: absolute;
  left: 0;
}

.blip {
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  position: absolute;
}

.blip::after {
  content: "";

  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;

  display: inline-block;
  width: 5px;
  height: 5px;

  background-color: #2dca72;
  border-radius: 360px;
  animation: pulse2 1500ms cubic-bezier(0.25, 0.1, 0.25, 0.1) infinite 2500ms;
  animation-fill-mode: forwards;
}

.ErrorCounter::after {
  content: "";

  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;

  display: inline-block;
  width: 125px;
  height: 35px;

  background-color: #fff;
  border-radius: 10px;
  animation: pulse 1500ms cubic-bezier(0.25, 0.1, 0.25, 0.1) infinite 2500ms;
  animation-fill-mode: forwards;
}

.ErrorCounter-dark::after {
  content: "";

  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;

  display: inline-block;
  width: 125px;
  height: 35px;

  background-color: black;
  border-radius: 10px;
  animation: pulse 1500ms cubic-bezier(0.25, 0.1, 0.25, 0.1) infinite 2500ms;
  animation-fill-mode: forwards;
}

.rotate-animation {
  animation: rotate360 15s linear infinite;
}

iframe {
  border: none;
  outline: none;
}

#crisp-chatbox > div > a {
  /* margin-bottom: 100px !important; */
  /* position: absolute !important; */
  bottom: 100px !important;
}

@keyframes pulse {
  0% {
    opacity: 0.8;
    transform: scaleX(1) scaleY(1);
  }

  100% {
    opacity: 0;
    transform: scaleX(1.2) scaleY(1.8);
  }
}

@keyframes pulse2 {
  0% {
    opacity: 0.8;
    transform: scaleX(1) scaleY(1);
  }

  100% {
    opacity: 0;
    transform: scaleX(2.5) scaleY(2.5);
  }
}

@media (max-width: 768px) {
  ::-webkit-scrollbar {
    display: none;
    /* Hides scrollbar for WebKit browsers */
  }

  /* For Firefox */
  * {
    scrollbar-width: none;
  }

  /* For Edge and IE */
  *::-ms-scrollbar {
    display: none;
  }

  /* Ensure content is still scrollable */
  body {
    -ms-overflow-style: none;
    /* Hide scrollbar for IE and Edge */
    scrollbar-width: none;
    /* Hide scrollbar for Firefox */
    overflow-y: scroll;
    /* Ensure scrolling still works */
  }
}

@keyframes rotate360 {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
