/* ===============================
   Thème sombre PRO (Bootstrap 5)
   Couleur primaire : Orange
   =============================== */

/* Palette et intégration Bootstrap */
:root {
  /* Couleur primaire (orange) */
  --bs-primary: #FF7A00;
  --bs-primary-rgb: 255, 122, 0;

  /* Surcharge thème sombre */
  --bs-body-bg: #0B0D11;
  --bs-body-color: #F5F6FA;

  /* Cartes / bordures */
  --card-bg: #151A22;
  --card-border: #2A2F3A;

  /* États */
  --success: #28A745;
  --error: #DC3545;

  /* Divers */
  --radius: 12px;
  --shadow: 0 8px 24px rgba(0,0,0,0.6);
}

/* --- Boutons orange: force toutes les variantes Bootstrap --- */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary), #000 12%);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary), #000 16%);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary), #000 20%);
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary), #000 24%);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary), #000 12%);
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary), #000 16%);
}

/* Font globale */
html, body {
  font-family: "Inter", "Segoe UI", Roboto, system-ui, -apple-system, sans-serif;
}

/* Corps */
body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

/* NAVBAR & HEADER */
.navbar {
  backdrop-filter: saturate(140%) blur(6px);
}

.brand {
  font-size: 1.25rem;
  letter-spacing: .3px;
}
.brand span {
  color: var(--bs-primary);
}

/* Boutons : affiner les arrondis & hover */
.btn {
  border-radius: var(--radius);
  font-weight: 600;
}
.btn-primary:hover {
  filter: brightness(1.05);
}
.btn-outline-primary {
  border-width: 2px;
}

/* Badges */
.badge {
  font-weight: 700;
}

/* Cartes */
.card {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  color: var(--bs-body-color);
}

/* Formularies (compat avec classes existantes) */
.input, .form-control {
  background-color: #0F131A;
  border: 1px solid var(--card-border);
  color: var(--bs-body-color);
  border-radius: var(--radius);
}
.input:focus, .form-control:focus {
  border-color: rgba(var(--bs-primary-rgb), .6);
  box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .2);
}

/* Petits utilitaires */
.subtitle,
.text-muted {
  color: #A0A6B5 !important;
}

/* Alertes custom (si utilisées en plus de .alert Bootstrap) */
.alert-error {
  background: rgba(220,53,69,.15);
  border: 1px solid var(--error);
  color: var(--error);
  border-radius: var(--radius);
}
.alert-success {
  background: rgba(40,167,69,.15);
  border: 1px solid var(--success);
  color: var(--success);
  border-radius: var(--radius);
}

/* Footer */
.tc-footer {
  background: #111418;
  border-top: 1px solid var(--card-border);
  padding: 20px 0;
  margin-top: 40px;
  text-align: center;
  color: #A0A6B5;
  font-size: 14px;
}
.tc-footer a {
  color: var(--bs-primary);
  text-decoration: none;
  font-weight: 500;
}
.tc-footer a:hover { text-decoration: underline; }

/* Anciennes classes conservées pour compatibilité (optionnel) */
.auth-container { min-height: calc(100vh - 140px); }
.auth-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius); padding: 28px; }
.auth-title { font-size: 26px; margin-bottom: 6px; }
.divider { display: flex; align-items: center; margin: 20px 0; color: #A0A6B5; }
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--card-border); margin: 0 10px; }

/* Réglages du header sticky pour éviter que le contenu passe dessous */
body > header + main { padding-top: .25rem; }

/* Liens dans navbar en hover */
.navbar .nav-link:hover {
  color: var(--bs-primary);
}
