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

/* Marques Font */
@font-face {
  font-family: 'Marques';
  src: url('/fonts/marques/Marques.otf') format('opentype'),
    url('/fonts/marques/Marques.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Marques';
  src: url('/fonts/marques/Marques Italic.otf') format('opentype'),
    url('/fonts/marques/Marques Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
}

/* Variante semi-bold utilisant Marques comme base */
@font-face {
  font-family: 'Marques';
  src: url('/fonts/marques/Marques.otf') format('opentype'),
    url('/fonts/marques/Marques.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

/* Acorn Font */
@font-face {
  font-family: 'Acorn';
  src: url('/fonts/acorn/Acorn-Regular.woff2') format('woff2'),
    url('/fonts/acorn/Acorn-Regular.woff') format('woff'),
    url('/fonts/acorn/Acorn-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Acorn';
  src: url('/fonts/acorn/Acorn-Medium.woff2') format('woff2'),
    url('/fonts/acorn/Acorn-Medium.woff') format('woff'),
    url('/fonts/acorn/Acorn-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Acorn';
  src: url('/fonts/acorn/Acorn-Bold.woff2') format('woff2'),
    url('/fonts/acorn/Acorn-Bold.woff') format('woff'),
    url('/fonts/acorn/Acorn-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

/* Brice Font */
@font-face {
  font-family: 'Brice';
  src: url('/fonts/Brice-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

/* Barbra Font */
@font-face {
  font-family: 'Barbra';
  src: url('/fonts/barbra-font/Barbra-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Barbra';
  src: url('/fonts/barbra-font/Barbra-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'Barbra';
  src: url('/fonts/barbra-font/Barbra-High.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Barbra';
  src: url('/fonts/barbra-font/Barbra-HighItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
}

html,
body {
  height: 100%;
  background: #000;
}

body {
  overflow-x: hidden;
  width: 100%;
}

/* Hero background: linear (carré) + radial (arrondi) - allégé pour voir l'image */
#hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background:
    radial-gradient(120% 80% at 50% 100%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .25) 70%, rgba(0, 0, 0, .6) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .2) 55%, rgba(0, 0, 0, .5) 100%);
  mix-blend-mode: normal;
}

/* Bottom pass (légère bande sombre pour "poser" l'image) */
#hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 140px;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 100%);
}

.btn {
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

/* Boutons sans effet de translation (pour navbars) */
.btn-no-translate {
  transition: opacity .18s ease, box-shadow .18s ease;
}

.btn-no-translate:hover {
  opacity: 0.85;
}

.glass {
  background: rgba(20, 20, 20, .55);
  backdrop-filter: saturate(140%) blur(14px);
}

.navglass {
  background: rgba(12, 12, 12, .35);
  backdrop-filter: saturate(140%) blur(10px);
}

/* Navbar animations */
.nav-transparent {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.nav-transparent.hidden-nav {
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
  visibility: hidden;
  /* Force le masquage complet */
}

.nav-scroll {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
  visibility: hidden;
  /* Cachée par défaut */
}

.nav-scroll.visible-nav {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

/* Navbar noire pour le défilement inverse */
.nav-black {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
  visibility: hidden;
  /* Cachée par défaut */
  background-color: rgba(0, 0, 0, 0.95);
  backdrop-filter: saturate(140%) blur(14px);
}

.nav-black.visible-nav {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

/* RÈGLE STRICTE D'EXCLUSION MUTUELLE */
/* Quand navScroll est visible, forcer les autres à être cachées */
.nav-scroll.visible-nav~.nav-transparent,
.nav-scroll.visible-nav~.nav-black {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Quand navBlack est visible, forcer les autres à être cachées */
.nav-black.visible-nav~.nav-transparent,
.nav-black.visible-nav~.nav-scroll {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Hiérarchie de z-index pour éviter tout chevauchement */
.nav-transparent {
  z-index: 40;
}

.nav-scroll {
  z-index: 50;
}

.nav-black {
  z-index: 60;
}

/* Navbar transparente devient noire au hover */
#navTransparent nav {
  transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
}

#navTransparent:hover nav {
  background-color: rgba(0, 0, 0, 0.85);
  backdrop-filter: saturate(140%) blur(14px);
}

@media(prefers-reduced-motion: reduce) {

  .btn,
  .card,
  * {
    transition: none !important;
  }
}

/* Grid patterns for backgrounds */
.bg-grid-pattern {
  background-image:
    linear-gradient(to right, rgba(99, 102, 241, 0.1) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(99, 102, 241, 0.1) 1px, transparent 1px);
  background-size: 40px 40px;
}

.bg-grid-white {
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 40px 40px;
}



@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 0 0% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 0 0% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 0 0% 3.9%;
    --primary: 0 0% 9%;
    --primary-foreground: 0 0% 98%;
    --secondary: 0 0% 96.1%;
    --secondary-foreground: 0 0% 9%;
    --muted: 0 0% 96.1%;
    --muted-foreground: 0 0% 45.1%;
    --accent: 0 0% 96.1%;
    --accent-foreground: 0 0% 9%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 89.8%;
    --input: 0 0% 89.8%;
    --ring: 0 0% 3.9%;
    --chart-1: 12 76% 61%;
    --chart-2: 173 58% 39%;
    --chart-3: 197 37% 24%;
    --chart-4: 43 74% 66%;
    --chart-5: 27 87% 67%;
    --radius: 0.5rem;
  }
  .dark {
    --background: 0 0% 3.9%;
    --foreground: 0 0% 98%;
    --card: 0 0% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 0 0% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 0 0% 9%;
    --secondary: 0 0% 14.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 0 0% 14.9%;
    --muted-foreground: 0 0% 63.9%;
    --accent: 0 0% 14.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 14.9%;
    --input: 0 0% 14.9%;
    --ring: 0 0% 83.1%;
    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;
  }
}



@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
}