/* ==========================================================================
   KITS — feuille de style de marque
   kitsolution.be — support IT

   Police à charger dans le <head> avant ce fichier :
   <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&family=IBM+Plex+Sans:wght@400;500&display=swap">
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
  /* couleurs de marque */
  --kits-blue: #046de5;
  --kits-blue-dark: #05386b;
  --kits-blue-light: #e6f1fb;
  --kits-ink: #12181f;
  --kits-gray: #5f5e5a;
  --kits-light: #eef0f2;
  --kits-green: #2e9e6d;
  --kits-green-light: #e4f3ec;
  --kits-slate-light: #c7d3de;
  --kits-white: #ffffff;

  /* typographie */
  --kits-font-sans: "IBM Plex Sans", "Calibri", "Segoe UI", sans-serif;
  --kits-font-mono: "IBM Plex Mono", "Consolas", monospace;

  /* échelle */
  --kits-radius: 4px;
  --kits-border: 1px solid var(--kits-light);
  --kits-space-xs: 8px;
  --kits-space-sm: 12px;
  --kits-space-md: 20px;
  --kits-space-lg: 32px;
  --kits-space-xl: 56px;
}

/* 2. Base -------------------------------------------------------------------- */
.kits {
  font-family: var(--kits-font-sans);
  color: var(--kits-ink);
  line-height: 1.6;
}

.kits h1,
.kits h2,
.kits h3 {
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 var(--kits-space-sm);
}

.kits h1 { font-size: 2.25rem; font-weight: 700; }
.kits h2 { font-size: 1.5rem; font-weight: 700; }
.kits h3 { font-size: 1.125rem; }

.kits p { margin: 0 0 var(--kits-space-sm); color: var(--kits-ink); }

.kits a { color: var(--kits-blue); text-decoration: none; }
.kits a:hover { text-decoration: underline; }

/* eyebrow — repère mono en majuscule, utilisé au-dessus des titres */
.kits-eyebrow {
  display: block;
  font-family: var(--kits-font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--kits-gray);
  text-transform: lowercase;
  margin-bottom: var(--kits-space-xs);
}
.kits-eyebrow--accent { color: var(--kits-blue); }

/* titre de section avec filet inférieur (jamais de barre d'accent sous le titre lui-même) */
.kits-section-title {
  padding-bottom: var(--kits-space-sm);
  border-bottom: 1px solid var(--kits-light);
  margin-bottom: var(--kits-space-md);
}

/* 3. Hero / bandeau ----------------------------------------------------------- */
.kits-hero {
  background: var(--kits-blue);
  color: var(--kits-white);
  padding: var(--kits-space-xl) var(--kits-space-lg);
  border-radius: var(--kits-radius);
}
.kits-hero .kits-eyebrow { color: rgba(255, 255, 255, 0.75); }
.kits-hero h1 { color: var(--kits-white); }
.kits-hero p { color: rgba(255, 255, 255, 0.9); max-width: 40em; }

/* 4. Boutons ------------------------------------------------------------------ */
.kits-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--kits-font-sans);
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: var(--kits-radius);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.kits-btn--primary {
  background: var(--kits-blue);
  color: var(--kits-white);
}
.kits-btn--primary:hover { background: var(--kits-blue-dark); }

.kits-btn--ghost {
  background: transparent;
  border-color: var(--kits-slate-light);
  color: var(--kits-ink);
}
.kits-btn--ghost:hover { border-color: var(--kits-blue); color: var(--kits-blue); }

.kits-btn--on-blue {
  background: var(--kits-white);
  color: var(--kits-blue);
}
.kits-btn--on-blue:hover { background: var(--kits-light); }

/* 5. Carte --------------------------------------------------------------------- */
.kits-card {
  background: var(--kits-white);
  border: var(--kits-border);
  border-radius: var(--kits-radius);
  padding: var(--kits-space-md);
}

/* 6. Encadré note (callout) ----------------------------------------------------- */
.kits-note {
  display: flex;
  gap: var(--kits-space-xs);
  background: var(--kits-blue-light);
  border-left: 3px solid var(--kits-blue);
  padding: var(--kits-space-sm) var(--kits-space-md);
  border-radius: 0;
  font-size: 0.9375rem;
  color: var(--kits-blue-dark);
}
.kits-note strong {
  font-family: var(--kits-font-mono);
  font-size: 0.8125rem;
  text-transform: lowercase;
}

/* 7. Badges / pastilles d'état --------------------------------------------------- */
.kits-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--kits-font-mono);
  font-size: 0.75rem;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--kits-light);
  color: var(--kits-gray);
}
.kits-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.kits-badge--ok { background: var(--kits-green-light); color: var(--kits-green); }
.kits-badge--on { background: var(--kits-blue-light); color: var(--kits-blue); }
.kits-badge--off { background: var(--kits-light); color: var(--kits-slate-light); }

/* 8. Bande de ports — signature visuelle KITS ------------------------------------
   Indicateur d'étapes / de progression, réutilisé dans les docs et les slides.
   Marquage : <ul class="kits-port-strip"><li class="is-on"></li>...</ul>          */
.kits-port-strip {
  display: flex;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.kits-port-strip li {
  width: 22px;
  height: 6px;
  background: var(--kits-slate-light);
}
.kits-port-strip li.is-ok { background: var(--kits-green); }
.kits-port-strip li.is-on { background: var(--kits-blue); }
.kits-port-strip li.is-off { background: var(--kits-slate-light); }

/* 9. Tableau -------------------------------------------------------------------- */
.kits-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}
.kits-table th {
  background: var(--kits-blue);
  color: var(--kits-white);
  font-family: var(--kits-font-mono);
  font-size: 0.75rem;
  text-transform: lowercase;
  text-align: left;
  padding: 10px 14px;
}
.kits-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--kits-light);
}
.kits-table tr:nth-child(even) td { background: var(--kits-light); }

/* 10. Pied de page ---------------------------------------------------------------- */
.kits-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--kits-light);
  padding-top: var(--kits-space-sm);
  margin-top: var(--kits-space-lg);
  font-family: var(--kits-font-mono);
  font-size: 0.75rem;
  color: var(--kits-gray);
}

/* 11. Utilitaires ------------------------------------------------------------------ */
.kits-mono { font-family: var(--kits-font-mono); }
.kits-text-gray { color: var(--kits-gray); }
.kits-text-blue { color: var(--kits-blue); }
.kits-container { max-width: 960px; margin: 0 auto; padding: 0 var(--kits-space-md); }
