@import url("https://fonts.googleapis.com/css2?family=Exo:wght@400;700&family=Oxygen:wght@300;400;700&display=swap");

:root {
  --color-text: #ffffff;
  --color-bg: #0a0a0a;
  --color-primary: #ff0000;
  --bg-image: url("images/logo.png"); /* image temporaire de fond */
}

/* ===== Fond de code animé ===== */
#codeBackground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -4; /* ou -1 si tu veux tester */
  background: transparent;
  pointer-events: none;
}


/* ===== Structure globale ===== */
body {
  margin: 0;
  font-family: "Oxygen", sans-serif;
  color: var(--color-text);
  background-color: var(--color-bg);
  overflow-x: hidden;
  position: relative;
}

/* Fond animé */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url("images/logo.png") center/cover no-repeat;
  z-index: -3;
  filter: brightness(0.5);
  animation: glow 10s ease-in-out infinite;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255,0,0,0.3), rgba(0,0,0,0.95));
  z-index: -2;
  animation: pulse 5s infinite ease-in-out;
}

/* ===== Navigation ===== */
nav {
  background: rgba(0, 0, 0, 0.85);
  border-bottom: 1px solid rgba(255, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  gap: 50px;
  padding: 20px 0;
  position: sticky;
  top: 0;
  z-index: 10;
}

nav a {
  font-family: "Exo", sans-serif;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  transition: 0.2s;
}

nav a:hover,
nav a.active {
  color: var(--color-primary);
  text-shadow: 0 0 10px var(--color-primary);
}

/* ===== Header ===== */
header {
  text-align: center;
  padding: 80px 20px 60px;
  position: relative;
  backdrop-filter: blur(3px);
}

.logo-container {
  position: relative;
  display: inline-block;
  width: 250px;
  height: 250px;
  margin-bottom: 30px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 0 30px rgba(255,0,0,0.5), 0 0 60px rgba(255,0,0,0.3);
  animation: glowLogo 3s ease-in-out infinite;
}

.logo-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.logo-container::after {
  content: "";
  position: absolute;
  top: -50%;
  left: 0;
  width: 100%;
  height: 200%;
  background: linear-gradient(0deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);
  animation: scan 6s linear infinite;
  mix-blend-mode: overlay;
}
header h1 {
  font-family: "Exo", sans-serif;
  font-size: 3.4rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;

  /* Dégradé clair -> rouge */
  background: linear-gradient(180deg, #ffffff 0%, #ff6666 40%, #ff0000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  /* Contours et ombres */
  text-shadow:
    0 0 8px rgba(255, 80, 80, 0.8),
    0 0 20px rgba(255, 0, 0, 0.7),
    0 2px 4px rgba(0, 0, 0, 0.8);

  /* Effet d’animation plus doux */
  animation: glowText 4s ease-in-out infinite alternate;
  margin-bottom: 10px;
}

/* Animation subtile du glow */
@keyframes glowText {
  0% {
    text-shadow:
      0 0 8px rgba(255, 120, 120, 0.8),
      0 0 20px rgba(255, 0, 0, 0.7),
      0 2px 4px rgba(0, 0, 0, 0.8);
  }
  100% {
    text-shadow:
      0 0 16px rgba(255, 200, 200, 1),
      0 0 40px rgba(255, 0, 0, 1),
      0 2px 4px rgba(0, 0, 0, 1);
  }
}



header p {
  color: #ffcccc;
  font-size: 1.2rem;
  margin-bottom: 30px;
}

.btn {
  display: inline-block;
  font-family: "Exo", sans-serif;
  text-transform: uppercase;
  border: 2px solid var(--color-primary);
  color: #fff;
  padding: 12px 30px;
  border-radius: 30px;
  box-shadow: 0 0 10px var(--color-primary), inset 0 0 10px var(--color-primary);
  transition: 0.3s;
  text-decoration: none;
}

.btn:hover {
  background: var(--color-primary);
  color: #000;
  box-shadow: 0 0 25px var(--color-primary), 0 0 60px #ff3333;
}

/* ===== Catégories ===== */
.categories {
  background: rgba(0, 0, 0, 0.8);
  border-top: 1px solid rgba(255, 0, 0, 0.3);
  border-bottom: 1px solid rgba(255, 0, 0, 0.3);
  padding: 60px 10%;
  text-align: center;
}

.categories h2 {
  font-family: "Exo", sans-serif;
  color: var(--color-primary);
  text-shadow: 0 0 10px var(--color-primary);
  text-transform: uppercase;
  margin-bottom: 40px;
}

.category-grid {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.category {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 0, 0, 0.3);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(255, 0, 0, 0.1);
  transition: 0.3s;
  cursor: pointer;
  position: relative;
}

.category::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid transparent;
  border-radius: 10px;
  transition: 0.3s;
}

.category:hover::after {
  border-color: var(--color-primary);
  box-shadow: 0 0 20px var(--color-primary);
}

.category img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.category h3 {
  font-family: "Exo", sans-serif;
  color: #fff;
  font-size: 1.2rem;
  padding: 15px;
  text-transform: uppercase;
}

/* ===== Footer ===== */
footer {
  text-align: center;
  padding: 30px;
  background: rgba(0, 0, 0, 0.9);
  border-top: 1px solid rgba(255, 0, 0, 0.4);
  color: #888;
  font-size: 0.9rem;
}

/* ===== Animations ===== */
@keyframes glow {
  0%, 100% { filter: brightness(0.55) saturate(1); }
  50% { filter: brightness(0.9) saturate(1.5); }
}

@keyframes pulse {
  0%, 100% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}

@keyframes glowLogo {
  0%, 100% { box-shadow: 0 0 20px #ff0000, 0 0 50px #ff3333; }
  50% { box-shadow: 0 0 40px #ff0000, 0 0 100px #ff4444; }
}

@keyframes flicker {
  0%, 18%, 22%, 25%, 53%, 57%, 100% { opacity: 1; }
  20%, 24%, 55% { opacity: 0.4; }
}

@keyframes scan {
  0% { top: -50%; }
  100% { top: 100%; }
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .logo-container { width: 180px; height: 180px; }
  header h1 { font-size: 2.2rem; }
  nav { flex-wrap: wrap; gap: 20px; }
}

/* ===== Fond de code rouge animé ===== */
#codeBackground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -5;
  background: transparent;
  pointer-events: none;
  filter: blur(0.3px);
  opacity: 0.35; /* ajustable : augmente à 0.5 si tu veux le rendre plus visible */
}

