/* ═══════════════════════════════════════════════════════════
   LObsTer — Thème Material customisé
   Palette alignée sur les études Cyrille (navy/orange/teal)
   ═══════════════════════════════════════════════════════════ */

:root {
  --lobster-navy: #0d1f3c;
  --lobster-navy-2: #1a3358;
  --lobster-orange: #e87722;
  --lobster-orange-2: #f4a05a;
  --lobster-teal: #2a7f7f;
  --lobster-gold: #c9a84c;
  --lobster-red: #c62828;
  --lobster-green: #2e7d32;
  --lobster-lblue: #f0f4fa;
  --lobster-border: #d8e0ec;
}

/* --- Palette primaire (header, liens actifs, accents) --- */
[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--lobster-navy);
  --md-primary-fg-color--light: var(--lobster-navy-2);
  --md-primary-fg-color--dark: #060f20;
  --md-accent-fg-color: var(--lobster-orange);
  --md-accent-fg-color--transparent: rgba(232, 119, 34, 0.1);
  --md-typeset-a-color: var(--lobster-teal);
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--lobster-navy);
  --md-accent-fg-color: var(--lobster-orange-2);
  --md-typeset-a-color: #6fc5c5;
}

/* --- Header / logo --- */
.md-header {
  background: linear-gradient(135deg, var(--lobster-navy) 0%, var(--lobster-navy-2) 100%);
}
.md-header__button.md-logo img {
  height: 28px;
}

/* --- Cards d'accueil --- */
.lobster-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.lobster-card {
  border: 1px solid var(--lobster-border);
  border-left: 4px solid var(--lobster-orange);
  border-radius: 4px;
  padding: 1rem 1.2rem;
  background: var(--md-default-bg-color);
  transition: transform .15s ease, box-shadow .15s ease;
  text-decoration: none !important;
  color: inherit !important;
  display: block;
}
.lobster-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(13, 31, 60, .12);
  border-left-color: var(--lobster-teal);
}
.lobster-card-title {
  font-weight: 600;
  color: var(--lobster-navy);
  margin-bottom: .3rem;
  font-size: 1.05rem;
}
[data-md-color-scheme="slate"] .lobster-card-title { color: var(--lobster-orange-2); }
.lobster-card-desc {
  font-size: .85rem;
  color: var(--md-default-fg-color--light);
  line-height: 1.45;
}

/* --- Badges statut sprint --- */
.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.badge-done    { background: var(--lobster-green); color: white; }
.badge-progress{ background: var(--lobster-orange); color: white; }
.badge-todo    { background: #8a95a3; color: white; }
.badge-blocked { background: var(--lobster-red); color: white; }
.badge-stub    { background: var(--lobster-gold); color: var(--lobster-navy); }

/* --- Tableaux --- */
.md-typeset table:not([class]) {
  font-size: .82rem;
}
.md-typeset table:not([class]) th {
  background: var(--lobster-navy);
  color: white;
  font-weight: 600;
}

/* --- Mermaid --- */
.mermaid {
  text-align: center;
  margin: 1rem 0;
}

/* --- Admonitions teintées LObsTer --- */
.md-typeset .admonition.lobster,
.md-typeset details.lobster {
  border-color: var(--lobster-orange);
}
.md-typeset .lobster > .admonition-title,
.md-typeset .lobster > summary {
  background-color: rgba(232, 119, 34, 0.12);
}
.md-typeset .lobster > .admonition-title::before,
.md-typeset .lobster > summary::before {
  background-color: var(--lobster-orange);
  -webkit-mask-image: var(--md-admonition-icon--note);
          mask-image: var(--md-admonition-icon--note);
}
