@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 210 40% 98%;
    --foreground: 222 47% 11%;

    --card: 0 0% 100%;
    --card-foreground: 222 47% 11%;

    --popover: 0 0% 100%;
    --popover-foreground: 222 47% 11%;

    --primary: 210 100% 50%;
    --primary-foreground: 210 40% 98%;

    --secondary: 210 40% 96%;
    --secondary-foreground: 222 47% 11%;

    --muted: 210 40% 96%;
    --muted-foreground: 220 9% 46%;

    --accent: 210 40% 96%;
    --accent-foreground: 222 47% 11%;

    --destructive: 0 84% 60%;
    --destructive-foreground: 210 40% 98%;

    --border: 220 13% 91%;
    --input: 220 13% 91%;
    --ring: 210 100% 50%;

    --radius: 0.75rem;
  }

  * {
    @apply border-border;
    box-sizing: border-box;
  }

  body {
    @apply bg-background text-foreground;
    font-feature-settings: 'ss01', 'ss02', 'cv01', 'cv02', 'cv03';
    font-family:
      -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, Helvetica, Arial,
      sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@layer components {
  .glass {
    @apply border border-white/20 bg-white/80 shadow-sm backdrop-blur-md;
  }

  .glass-dark {
    @apply border border-white/10 bg-black/10 shadow-sm backdrop-blur-md;
  }

  .map-container {
    @apply h-full w-full overflow-hidden rounded-xl shadow-sm transition-all duration-300;
  }

  .panel {
    @apply glass rounded-xl p-4 transition-all duration-300 ease-in-out;
  }
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }

  .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .scrollbar-hide::-webkit-scrollbar {
    display: none;
  }
}

.mapboxgl-canvas {
  outline: none;
}

.mapboxgl-ctrl-top-right {
  margin-top: 15px;
  margin-right: 15px;
}

.mapboxgl-ctrl-group {
  @apply glass overflow-hidden border border-white/20 shadow-none;
}

.mapboxgl-ctrl button {
  @apply text-gray-800;
}

.animate-in {
  animation-delay: calc(var(--index) * 100ms);
}
