:root {
  --spoonity-primary: #F98E58;
  --spoonity-primary-focus: #d7743b;
}

.loader {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
  animation: rotate 1s linear infinite;
}

.loader.hidden {
  display: none !important;
}

.loader::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 5px solid #fff;
  animation: prixClipFix 2s linear infinite;
}

button .loader,
.btn .loader,
.inline-flex .loader {
  width: 1rem;
  height: 1rem;
}

button .loader::before,
.btn .loader::before,
.inline-flex .loader::before {
  border-width: 2px;
}

.app-preloader .loader {
  width: 48px;
  height: 48px;
}

.app-preloader .loader::before {
  border-width: 5px;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes prixClipFix {
  0% {
    clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
  }

  25% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
  }

  50% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
  }

  75% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
  }

  100% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
  }
}

.bg-primary,
.btn.bg-primary {
  background-color: var(--spoonity-primary) !important;
  border-color: var(--spoonity-primary) !important;
}

.hover\:bg-primary-focus:hover,
.focus\:bg-primary-focus:focus,
.active\:bg-primary-focus:active {
  background-color: var(--spoonity-primary-focus) !important;
  border-color: var(--spoonity-primary-focus) !important;
}

.text-primary {
  color: var(--spoonity-primary) !important;
}

.hover\:text-primary-focus:hover {
  color: var(--spoonity-primary-focus) !important;
}

.form-input:hover,
.form-input:focus {
  border-color: var(--spoonity-primary) !important;
}

.peer:focus ~ .peer-focus\:text-primary {
  color: var(--spoonity-primary) !important;
}

.peer:focus ~ .peer-focus\:text-primary svg {
  stroke: var(--spoonity-primary) !important;
}

.dark .form-input {
  background-color: #30405f !important;
}

.app-preloader {
  display: none !important;
}

[x-cloak] {
  display: block !important;
}

button,
.btn {
  touch-action: manipulation;
}

.app-modal-backdrop {
  z-index: 9998;
}

.app-modal {
  z-index: 9999;
}

.app-modal-backdrop-high {
  z-index: 10000;
}

.app-modal-high {
  z-index: 10001;
}

#checkin-start-error {
  margin-bottom: 1.25rem;
}

#checkin-display {
  height: 4.5rem;
}

#checkin-submit {
  height: 3rem;
}
