/* Bachata District — base + thème nuit */

:root {
  --card: #ffffff;
  --nav-bg: rgba(251, 248, 241, 0.85);
  --shadow-card: var(--shadow-sm);
}

/* ---- Thème nuit (activé via <html class="night">) ---- */
html.night {
  --bg:            #0e0a16;
  --surface:       #1a1222;
  --surface-2:     #261b32;
  --card:          #181020;
  --fg:            #ece7f0;
  --fg-strong:     #fbf8f1;
  --fg-muted:      #a79cb3;
  --fg-subtle:     #8a7f96;
  --divider:       rgba(251, 248, 241, 0.12);
  --border:        rgba(251, 248, 241, 0.12);
  --border-strong: rgba(251, 248, 241, 0.24);
  --sand-300:      rgba(251, 248, 241, 0.16);
  --nav-bg:        rgba(18, 12, 26, 0.8);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-body);
  color: var(--fg);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  transition: background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);
}
button { font-family: inherit; }
a { color: inherit; }
img { display: block; }

::selection { background: var(--coral-200); color: #fff; }

::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: padding-box;
}

@keyframes bd-fade-up {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.bd-view { animation: bd-fade-up var(--dur-slow) var(--ease-out); }

input, textarea, select { font-family: inherit; }
input::placeholder, textarea::placeholder { color: var(--fg-subtle); }

/* Accessibilité : focus visible cohérent */
:focus-visible {
  outline: 2px solid var(--coral-300);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
