/* Auxerre Galactic Days — design tokens & composants partagés */
:root {
  --bg-primary: #001030;
  --bg-secondary: #0a1740;
  --bg-tertiary: #14204d;
  --text-primary: #eaf2ff;
  --text-secondary: #a9b6d6;
  --accent: #00e5ff;
  --accent-2: #ff00d5;
  --mars: #d9552b;
  --font-display: "Orbitron", "Arial Black", sans-serif;
  --font-body: "Chakra Petch", system-ui, sans-serif;
}

body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-body);
}

.font-display { font-family: var(--font-display); }

.starfield {
  background-image:
    radial-gradient(1200px 600px at 50% -10%, rgba(0, 229, 255, .22), transparent 70%),
    radial-gradient(900px 500px at 90% 20%, rgba(255, 0, 213, .16), transparent 70%),
    radial-gradient(1px 1px at 20% 30%, #fff, transparent),
    radial-gradient(1px 1px at 70% 15%, #fff, transparent),
    radial-gradient(1px 1px at 40% 70%, #fff, transparent),
    radial-gradient(1px 1px at 85% 60%, #fff, transparent),
    radial-gradient(1px 1px at 10% 85%, #fff, transparent),
    radial-gradient(2px 2px at 60% 45%, rgba(255,255,255,.8), transparent),
    linear-gradient(180deg, #000818, #001030 60%, #0a1740);
}

.neon {
  color: #fff;
  text-shadow:
    0 0 4px rgba(0, 229, 255, .9),
    0 0 14px rgba(0, 229, 255, .7),
    0 0 34px rgba(0, 229, 255, .45),
    0 4px 0 rgba(255, 0, 213, .35);
}

.neon-line {
  background: linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
  height: 1px;
}

.card {
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(0, 229, 255, .22);
  border-radius: 1rem;
  backdrop-filter: blur(6px);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 229, 255, .6);
  box-shadow: 0 12px 40px -12px rgba(0, 229, 255, .45);
}

.btn-primary {
  background: var(--accent);
  color: #001030;
  border-radius: 9999px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: box-shadow .2s ease, transform .2s ease;
}
.btn-primary:hover { box-shadow: 0 0 28px rgba(0, 229, 255, .65); transform: translateY(-2px); }

.btn-ghost {
  border: 1px solid rgba(0, 229, 255, .5);
  color: var(--accent);
  border-radius: 9999px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: background .2s ease, color .2s ease;
}
.btn-ghost:hover { background: rgba(0, 229, 255, .12); }

.tag {
  border: 1px solid rgba(255, 0, 213, .5);
  color: #ffb3f0;
  border-radius: 9999px;
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .15rem .6rem;
}

.nav-link { color: var(--text-secondary); letter-spacing: .06em; text-transform: uppercase; font-size: .78rem; font-weight: 600; }
.nav-link:hover, .nav-link[aria-current="page"] { color: var(--accent); }

a { text-underline-offset: 3px; }

/* Blocs dépliables (ex. liste des exposants) */
summary::-webkit-details-marker { display: none; }
summary { outline: none; }
details > summary:hover .btn-ghost { background: rgba(0, 229, 255, .12); }
