/* ============================================================================
   Géo-Matrix — Custom CSS pour Zensical / Material
   ============================================================================ */

/* --- Logo & En-tête --- */
.md-header__button.md-logo img {
  height: 2.2rem;
  border-radius: 4px;
  transition: transform 0.2s ease;
}

.md-header__button.md-logo:hover img {
  transform: scale(1.08);
}

.md-header {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* --- Image CRS interactive (random-crs.js) --- */
.random-img {
  width: 100px;
  cursor: grab;
  z-index: 9999;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.3));
}

.random-img:active {
  cursor: grabbing;
}

/* --- Cartes & Conteneurs du contenu --- */
.md-content {
  line-height: 1.68;
}

/* Images générales */
.md-content img {
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease;
}

.md-content img:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* --- Tableaux de données SIG & SQL --- */
.md-typeset table:not([class]) {
  display: inline-block;
  font-size: 0.85rem;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  margin-bottom: 1.5em;
  width: 100%;
}

.md-typeset table:not([class]) th {
  background-color: var(--md-primary-fg-color);
  color: var(--md-primary-bg-color);
  font-weight: 600;
  padding: 0.7em 1em;
  text-align: left;
}

.md-typeset table:not([class]) td {
  padding: 0.65em 1em;
  border-top: 1px solid var(--md-default-fg-color--lightest);
}

.md-typeset table:not([class]) tr:nth-child(even) td {
  background-color: var(--md-default-bg-color--lighter);
}

.md-typeset table:not([class]) tr:hover td {
  background-color: var(--md-accent-fg-color--transparent);
}

/* --- Blocs de code & Syntaxe --- */
.md-typeset pre > code {
  border-radius: 8px;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.84em;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.md-typeset :not(pre) > code {
  border-radius: 4px;
  padding: 0.15em 0.4em;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.85em;
  background-color: var(--md-code-bg-color);
  color: var(--md-primary-fg-color--dark);
}

/* --- Touches de Clavier (kbd) --- */
.md-typeset kbd {
  background-color: var(--md-default-bg-color);
  color: var(--md-default-fg-color);
  border: 1px solid var(--md-default-fg-color--light);
  border-bottom-width: 2px;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.8em;
  padding: 0.15em 0.45em;
  display: inline-block;
}

/* --- Admonitions (Avertissements, Notes, Conseils) --- */
.md-typeset .admonition,
.md-typeset details {
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
  border-left-width: 4px;
  overflow: hidden;
  margin: 1.2em 0;
}

/* --- Barre de défilement élégante --- */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

::-webkit-scrollbar-track {
  background: var(--md-default-bg-color);
}

::-webkit-scrollbar-thumb {
  background: var(--md-default-fg-color--lighter);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--md-primary-fg-color);
}


/* --- Masquer les symboles de permalien (¶) --- */
.headerlink,
.md-typeset .headerlink {
  display: none !important;
}

/* --- Déplacer la barre de recherche vers la droite --- */
.md-header__search {
  margin-left: auto;
}

