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

html,
body {
  overscroll-behavior: none;
}

/* Bloque le zoom partout sauf reader */
body.no-pinch-zoom,
body.no-pinch-zoom * {
  touch-action: pan-x pan-y;
}

/* Ajout des règles pour gérer le safe-area-inset sur iOS
@supports (padding-top: env(safe-area-inset-top)) {
  body {
    padding-top: env(safe-area-inset-top);
  }

  header.sticky {
    padding-top: env(safe-area-inset-top);
    height: calc(3.5rem + env(safe-area-inset-top)); 
  }
} */

@layer base {
  :root {
    --background: 36 33% 97%;
    --background-rgb: 249, 246, 241;
    --foreground: 222 33% 15%;

    --card: 0 0% 100%;
    --card-foreground: 222 33% 15%;

    --popover: 0 0% 100%;
    --popover-foreground: 222 33% 15%;

    --primary: 198 78% 37%;
    --primary-foreground: 210 40% 98%;

    --secondary: 36 30% 92%;
    --secondary-foreground: 222 33% 15%;

    --muted: 36 24% 90%;
    --muted-foreground: 220 13% 40%;

    --accent: 198 52% 90%;
    --accent-foreground: 222 33% 15%;

    --destructive: 2 72% 48%;
    --destructive-foreground: 210 40% 98%;

    --border: 32 18% 84%;
    --input: 32 18% 84%;
    --ring: 198 78% 37%;

    --radius: 0.75rem;

    --surface-1: 0 0% 100%;
    --surface-2: 34 27% 94%;
    --elevation-1: 0 1px 2px 0 rgb(23 32 46 / 0.06);
    --elevation-2: 0 8px 24px -8px rgb(23 32 46 / 0.18);

    --font-ui: "Avenir Next", "Segoe UI", "Noto Sans", sans-serif;
    --font-display: "Baskerville", "Times New Roman", serif;
    --duration-fast: 120ms;
    --duration-base: 200ms;
    --duration-slow: 320ms;
    --ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .dark {
    --background: 222 35% 10%;
    --background-rgb: 17, 24, 38;
    --foreground: 38 20% 92%;

    --card: 221 31% 13%;
    --card-foreground: 38 20% 92%;

    --popover: 221 31% 13%;
    --popover-foreground: 38 20% 92%;

    --primary: 194 76% 62%;
    --primary-foreground: 220 39% 11%;

    --secondary: 221 22% 20%;
    --secondary-foreground: 38 20% 92%;

    --muted: 220 17% 24%;
    --muted-foreground: 218 17% 72%;

    --accent: 210 34% 24%;
    --accent-foreground: 38 20% 92%;

    --destructive: 2 76% 58%;
    --destructive-foreground: 210 40% 98%;

    --border: 219 18% 25%;
    --input: 219 18% 25%;
    --ring: 194 76% 62%;

    --surface-1: 221 31% 13%;
    --surface-2: 221 24% 17%;
    --elevation-1: 0 1px 2px 0 rgb(2 8 18 / 0.35);
    --elevation-2: 0 12px 30px -12px rgb(2 8 18 / 0.55);
  }
}

@layer base {
  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground antialiased;
    font-family: var(--font-ui);
  }

  /* Empêche le zoom automatique iOS sur les inputs */
  input,
  textarea,
  select {
    font-size: 16px;
  }
}

@layer utilities {
  .hide-scrollbar {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  .hide-scrollbar::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
  }

  /* Classe utilitaire pour le padding-top avec safe-area-inset */
  .pt-safe {
    padding-top: env(safe-area-inset-top, 0);
  }

  /* Glassmorphism utilities */
  .glass {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .glass-strong {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  /* Fade-in animation */
  @keyframes fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  .animate-fade-in {
    animation: fade-in 0.3s ease-in forwards;
  }

  @keyframes loader-slide {
    0% {
      transform: translateX(-120%);
    }
    100% {
      transform: translateX(320%);
    }
  }

  .animate-loader-slide {
    animation: loader-slide 1.25s ease-in-out infinite;
  }
}
