@keyframes floaty {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

html {
  scroll-behavior: smooth;
  font-family: "Inter", sans-serif;
}

.floaty {
  animation: floaty 3s ease-in-out infinite;
}

@media (max-width: 380px) {
  .hero {
    height: 100vh;
  }
}

@media (min-width: 381px) {
  .hero {
    height: 80vh;
    overflow-y: hidden;
  }
}

@media (min-width: 1024px) {
  .hero {
    height: unset;
    overflow-y: visible;
  }
}

.mobile-menu {
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  transform: translateY(-100%);
}

.mobile-menu.open {
  transform: translateY(0);
}

/* Auth page: forgot password / hint link color */
.fi-form .fi-fo-field-wrp-hint .fi-link,
.fi-form .fi-fo-field-wrp-hint a {
  color: #0099a1 !important; /* primary-700 teal */
}

.fi-form .fi-fo-field-wrp-hint .fi-link:hover,
.fi-form .fi-fo-field-wrp-hint a:hover {
  color: #087a82 !important; /* primary-800 teal */
}

/* Auth page: ensure Filament form labels and hints are readable on neutral-100 background */
.fi-form .fi-fo-field-wrp-label label,
.fi-form .fi-fo-field-wrp-label .fi-label-suffix,
.fi-form .fi-fo-field-wrp-label .fi-fo-field-wrp-label-suffix {
  color: #1c4852 !important; /* primary-900 teal for brand consistency */
}

.fi-form .fi-fo-field-wrp-hint,
.fi-form .fi-fo-field-wrp-hint a {
  color: #2c7a8c !important;
}

/* Inputs: ensure text is readable */
.fi-form .fi-input,
.fi-form input[type="text"],
.fi-form input[type="email"],
.fi-form input[type="password"],
.fi-form input[type="tel"] {
  background-color: #ffffff !important;
  color: #111827 !important;
  border-color: #d1d5db !important;
}

/* Checkbox label on mobile */
.fi-form .fi-checkbox-label {
  color: #1c4852 !important;
}

/* ── Dark mode overrides ── */
.dark .fi-form .fi-fo-field-wrp-hint .fi-link,
.dark .fi-form .fi-fo-field-wrp-hint a {
  color: #07FFED !important; /* primary-400 */
}

.dark .fi-form .fi-fo-field-wrp-hint .fi-link:hover,
.dark .fi-form .fi-fo-field-wrp-hint a:hover {
  color: #00EFED !important; /* primary-500 */
}

.dark .fi-form .fi-fo-field-wrp-label label,
.dark .fi-form .fi-fo-field-wrp-label .fi-label-suffix,
.dark .fi-form .fi-fo-field-wrp-label .fi-fo-field-wrp-label-suffix {
  color: #99FFF1 !important; /* primary-200 */
}

.dark .fi-form .fi-fo-field-wrp-hint {
  color: #54FFEA !important; /* primary-300 */
}

.dark .fi-form .fi-input,
.dark .fi-form input[type="text"],
.dark .fi-form input[type="email"],
.dark .fi-form input[type="password"],
.dark .fi-form input[type="tel"] {
  background-color: #1f2937 !important; /* gray-800 */
  color: #f3f4f6 !important; /* gray-100 */
  border-color: #374151 !important; /* gray-700 */
}

.dark .fi-form .fi-checkbox-label {
  color: #99FFF1 !important; /* primary-200 */
}
