/* ==========================================================================
   Polices auto-hébergées
   ========================================================================== */
@import url("fonts-GPrxD-n.css");

/* ==========================================================================
   Thème : surcharge des variables Bootstrap (pas de recompilation Sass ici,
   on réassigne les variables CSS que Bootstrap expose déjà à l'exécution).
   ========================================================================== */
:root {
  --bs-body-font-family: 'Inter', sans-serif;
  --bs-border-radius: 0.75rem;
  --bs-border-radius-sm: 0.5rem;
  --bs-border-radius-lg: 0.875rem;
  color-scheme: dark;
}

[data-bs-theme="dark"] {
  --bs-body-bg: #12151c;
  --bs-body-bg-rgb: 18, 21, 28;
  --bs-body-color: #ededed;
  --bs-body-color-rgb: 237, 237, 237;
  --bs-emphasis-color: #ededed;
  --bs-secondary-color: #8d93a1;
  --bs-border-color: #262b36;
  --bs-border-color-translucent: #262b36;

  --bs-link-color: #4fbf8b;
  --bs-link-color-rgb: 79, 191, 139;
  --bs-link-hover-color: #6fd1a3;
  --bs-link-hover-color-rgb: 111, 209, 163;

  /* Palette de la Direction B recasée sur les couleurs sémantiques Bootstrap :
     teal -> success (actions positives, HTTP), clay -> warning (SQL), danger inchangé. */
  --bs-primary: #4fbf8b;
  --bs-primary-rgb: 79, 191, 139;
  --bs-success: #4fbf8b;
  --bs-success-rgb: 79, 191, 139;
  --bs-warning: #c98a5e;
  --bs-warning-rgb: 201, 138, 94;
  --bs-danger: #e0793a;
  --bs-danger-rgb: 224, 121, 58;

  --bs-success-text-emphasis: #4fbf8b;
  --bs-success-bg-subtle: rgba(79, 191, 139, .12);
  --bs-success-border-subtle: rgba(79, 191, 139, .4);
  --bs-warning-text-emphasis: #c98a5e;
  --bs-warning-bg-subtle: rgba(201, 138, 94, .12);
  --bs-warning-border-subtle: rgba(201, 138, 94, .4);
  --bs-danger-text-emphasis: #e0793a;
  --bs-danger-bg-subtle: rgba(224, 121, 58, .12);
  --bs-danger-border-subtle: rgba(224, 121, 58, .4);

  --bs-form-invalid-color: #e0793a;
  --bs-form-invalid-border-color: #e0793a;
  --bs-focus-ring-color: rgba(79, 191, 139, .25);
}

/* Fond des cartes légèrement plus clair que le fond de page (--bs-card-bg vaut
   --bs-body-bg par défaut chez Bootstrap). */
.card {
  --bs-card-bg: #191d26;
}

/* Indicateur d'onglet actif dans la nav (le soulignement suit "currentColor"). */
.nav-underline {
  --bs-nav-underline-link-active-color: #4fbf8b;
}

.btn-success {
  --bs-btn-color: #12151c;
  --bs-btn-bg: #4fbf8b;
  --bs-btn-border-color: #4fbf8b;
  --bs-btn-hover-color: #12151c;
  --bs-btn-hover-bg: #45ab7c;
  --bs-btn-hover-border-color: #45ab7c;
  --bs-btn-active-color: #12151c;
  --bs-btn-active-bg: #3d9a6f;
  --bs-btn-active-border-color: #3d9a6f;
  --bs-btn-focus-shadow-rgb: 79, 191, 139;
}
.btn-danger {
  --bs-btn-color: #12151c;
  --bs-btn-bg: #e0793a;
  --bs-btn-border-color: #e0793a;
  --bs-btn-hover-color: #12151c;
  --bs-btn-hover-bg: #c56a33;
  --bs-btn-hover-border-color: #c56a33;
  --bs-btn-active-color: #12151c;
  --bs-btn-active-bg: #b3612e;
  --bs-btn-active-border-color: #b3612e;
  --bs-btn-focus-shadow-rgb: 224, 121, 58;
}

/* ==========================================================================
   Ce que Bootstrap ne permet pas de couvrir par simple surcharge de variable
   (pas de reconstruction Sass disponible ici) : quelques règles minimales.
   ========================================================================== */

/* Bootstrap ne définit pas de police de titres distincte de la police du corps. */
h1, h2, h3, .navbar-brand, .card-title {
  font-family: 'Newsreader', serif;
}

/* Flèche des <select>, l'anneau de focus des champs et le fond au survol des
   cartes sont codés en dur dans le CSS compilé de Bootstrap (couleurs fixes,
   non dérivées des variables --bs-*) : on les réajuste ponctuellement. */
.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%238d93a1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
}
.form-control:focus,
.form-select:focus {
  border-color: #4fbf8b;
  box-shadow: none;
}
.form-text {
  font-style: italic;
}
/* Bootstrap force un texte blanc sur .text-bg-success/.text-bg-warning
   (couleur codée en dur, pas dérivée d'une variable) : on préfère un texte
   sombre, cohérent avec le texte des boutons pleins de la même couleur. */
.text-bg-success,
.text-bg-warning {
  color: #12151c !important;
}
.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--bs-body-color);
  -webkit-box-shadow: 0 0 0 1000px var(--bs-body-bg) inset;
  box-shadow: 0 0 0 1000px var(--bs-body-bg) inset;
  transition: background-color 9999s ease-in-out 0s;
}

/* Petit bouton/lien discret pour les actions secondaires (Modifier, Retirer,
   + Ajouter un domaine...) : ni .btn-link (hérite la couleur de lien = teal
   en permanence) ni aucune combinaison d'utilitaires Bootstrap ne rend ce
   "gris au repos, teal au survol" sans règle dédiée. */
.action-link {
  background: none;
  border: none;
  padding: 0;
  font-size: .8rem;
  color: var(--bs-secondary-color);
  text-decoration: none;
}
.action-link:hover {
  color: var(--bs-success);
}

/* Carte de projet cliquable (comportement porté par assets/scripts/main.js). */
.hover-card {
  transition: border-color .15s;
}
.hover-card:hover {
  border-color: var(--bs-success);
}
.hover-card[data-href] {
  cursor: pointer;
}
