/* DATAMINUTE - surcouche Bootstrap 5 */
:root {
  --dm-primary: #1f4e8c;
  --dm-primary-dark: #163a69;
  --dm-accent: #f28c28;
  --dm-soft: #eef3fa;
  --dm-ink: #1d2433;
  --bs-primary: #1f4e8c;
  --bs-primary-rgb: 31, 78, 140;
  --bs-link-color: #1f4e8c;
  --bs-link-color-rgb: 31, 78, 140;
  --bs-link-hover-color: #163a69;
  --bs-body-color: #1d2433;
  --bs-body-bg: #f7f9fc;
}

.btn-primary {
  --bs-btn-bg: var(--dm-primary);
  --bs-btn-border-color: var(--dm-primary);
  --bs-btn-hover-bg: var(--dm-primary-dark);
  --bs-btn-hover-border-color: var(--dm-primary-dark);
  --bs-btn-active-bg: var(--dm-primary-dark);
  --bs-btn-disabled-bg: var(--dm-primary);
  --bs-btn-disabled-border-color: var(--dm-primary);
}
.btn-outline-primary {
  --bs-btn-color: var(--dm-primary);
  --bs-btn-border-color: var(--dm-primary);
  --bs-btn-hover-bg: var(--dm-primary);
  --bs-btn-hover-border-color: var(--dm-primary);
  --bs-btn-active-bg: var(--dm-primary);
}
.text-primary { color: var(--dm-primary) !important; }
.list-group-item.active { background: var(--dm-primary); border-color: var(--dm-primary); }
.page-item.active .page-link { background: var(--dm-primary); border-color: var(--dm-primary); }
.form-check-input:checked { background-color: var(--dm-primary); border-color: var(--dm-primary); }

/* Navigation */
.dm-navbar { background: #fff; border-bottom: 1px solid #e6eaf1; }
.dm-brand { font-size: 1.25rem; letter-spacing: .02em; color: var(--dm-ink); display: inline-flex; align-items: center; gap: .4rem; }
.dm-brand strong { color: var(--dm-primary); }
.dm-logo { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; background: var(--dm-primary); color: #fff; font-size: 1rem; }
.dm-announcement { background: var(--dm-accent); color: #fff; }
.navbar .btn-link.nav-link { text-decoration: none; }

/* Accueil */
.dm-hero { background: radial-gradient(1200px 400px at 80% 0%, #dfe9f7 0%, transparent 60%), linear-gradient(180deg, #fff 0%, #f7f9fc 100%); border-bottom: 1px solid #e6eaf1; }
.dm-highlight { color: var(--dm-primary); background: linear-gradient(transparent 62%, #ffe2c4 62%); }
.dm-pill { background: var(--dm-soft); color: var(--dm-primary); font-weight: 500; }
.dm-hero-card { background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid #e6eaf1; }
.dm-hero-card-head { background: #f1f4f9; padding: .55rem .9rem; display: flex; align-items: center; gap: .35rem; color: #6b7280; }
.dm-hero-card-head span { width: 10px; height: 10px; border-radius: 50%; background: #d4dae4; display: inline-block; }
.dm-hero-card table td, .dm-hero-card table th { padding: .55rem .75rem; }
.dm-section-alt { background: #fff; border-top: 1px solid #e6eaf1; border-bottom: 1px solid #e6eaf1; }
.dm-step { position: relative; width: 72px; height: 72px; border-radius: 20px; background: var(--dm-soft); color: var(--dm-primary); display: flex; align-items: center; justify-content: center; font-size: 1.8rem; }
.dm-step span { position: absolute; top: -8px; right: -8px; width: 26px; height: 26px; border-radius: 50%; background: var(--dm-accent); color: #fff; font-size: .8rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.dm-card-soft { background: var(--dm-soft); }
.dm-checklist { list-style: none; padding-left: 0; }
.dm-checklist li { position: relative; padding-left: 1.6rem; margin-bottom: .45rem; }
.dm-checklist li::before { content: "\F26E"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: 0; color: #198754; }

/* Cartes outils */
.dm-tool-card { border: 1px solid #e6eaf1; transition: transform .15s ease, box-shadow .15s ease; }
.dm-tool-card:hover { transform: translateY(-3px); box-shadow: 0 .75rem 1.5rem rgba(31, 78, 140, .1); }
.dm-tool-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--dm-soft); color: var(--dm-primary); display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; }
.dm-badge-format { background: #fff; color: #4b5563; border: 1px solid #d9dee8; font-weight: 500; }

/* Fiche outil */
.dm-fact { display: flex; gap: .75rem; align-items: center; background: #fff; border: 1px solid #e6eaf1; border-radius: 10px; padding: .8rem; height: 100%; }
.dm-fact i { font-size: 1.4rem; color: var(--dm-primary); }
.dm-fact small { display: block; color: #6b7280; }
.dm-price-table { background: #fff; }
.dm-upload-card { top: 84px; border: 1px solid #dbe3ef; }
.dm-dropzone { position: relative; border: 2px dashed #b7c6dc; border-radius: 12px; padding: 1.6rem 1rem; text-align: center; color: #4b5563; background: #f9fbfe; display: flex; flex-direction: column; align-items: center; gap: .35rem; cursor: pointer; transition: background .15s, border-color .15s; }
.dm-dropzone:hover, .dm-dropzone.is-over { border-color: var(--dm-primary); background: var(--dm-soft); }
.dm-dropzone.has-file { border-style: solid; border-color: #198754; background: #f1faf4; }
.dm-dropzone-input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }

/* Commande */
.dm-steps { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; list-style: none; padding: 0; color: #9aa3b2; font-size: .9rem; }
.dm-steps li { display: flex; align-items: center; gap: .45rem; }
.dm-steps li span { width: 26px; height: 26px; border-radius: 50%; border: 2px solid currentColor; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: .8rem; }
.dm-steps li.current { color: var(--dm-primary); font-weight: 600; }
.dm-steps li.done { color: #198754; }
.dm-diagnostic { border-left: 4px solid var(--dm-primary); }
.dm-warnings { list-style: none; padding-left: 0; }
.dm-warnings li { margin-bottom: .25rem; }
.dm-preview th, .dm-preview td { white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.dm-columns-pick { display: flex; flex-wrap: wrap; gap: .35rem; max-height: 180px; overflow-y: auto; }
.dm-checkout { border: 1px solid #dbe3ef; }

/* Espace client / admin */
.dm-side-nav .list-group-item { border-color: #e6eaf1; }
.dm-side-nav .list-group-item i { width: 1.25rem; display: inline-block; }
.dm-stat { border: 1px solid #e6eaf1; }
.dm-stat-cta { background: var(--dm-primary); color: #fff; }
.dm-pack { border: 1px solid #e6eaf1; }
.dm-pack-featured { border: 2px solid var(--dm-primary); box-shadow: 0 .75rem 1.5rem rgba(31, 78, 140, .12); }
.dm-pre { background: #f3f5f9; border-radius: 6px; padding: .6rem .8rem; font-size: .8rem; white-space: pre-wrap; word-break: break-all; }
.dm-bars { display: flex; align-items: flex-end; gap: 4px; height: 160px; }
.dm-bar { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; }
.dm-bar span { display: block; width: 100%; background: var(--dm-primary); border-radius: 4px 4px 0 0; min-height: 2px; }
.dm-bar small { font-size: .65rem; color: #6b7280; }
.dm-legal h2 { margin-top: 1.5rem; }

/* Pied de page */
.dm-footer { background: #fff; border-top: 1px solid #e6eaf1; }
.dm-footer a { color: #4b5563; text-decoration: none; }
.dm-footer a:hover { color: var(--dm-primary); }

/* Anti-robot */
.dm-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 575.98px) {
  .display-5 { font-size: 2rem; }
}
