@font-face {
  font-family: "Montserrat";
  src:
    url("../webfonts/montserrat/montserrat-light-webfont.woff2") format("woff2"),
    url("../webfonts/montserrat/montserrat-light-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src:
    url("../webfonts/montserrat/montserrat-medium-webfont.woff2") format("woff2"),
    url("../webfonts/montserrat/montserrat-medium-webfont.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src:
    url("../webfonts/montserrat/montserrat-semibold-webfont.woff2") format("woff2"),
    url("../webfonts/montserrat/montserrat-semibold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --spip-purple: #69559f;
  --spip-purple-strong: #4e3a85;
  --spip-blue: #2f6db5;
  --spip-font-weight-light: 400;
  --spip-font-weight-regular: 500;
  --md-text-font: "Montserrat";
  --md-code-font: ui-monospace, sfmono-regular, consolas, "Liberation Mono", monospace;
  
  /* Darken pale grays for titles and nav */
  --md-default-fg-color--light: #444;
  --md-nav-link-color: #333;
  --md-typeset-color: #222;

  /* Reduce base font size and line height */
  --md-text-font-size: 0.8rem;
  --md-typeset-line-height: 1.5;

  --md-default-fg-color--light: #000000b4;
  --md-default-fg-color--lighter: #00000069;
  --md-default-fg-color--lightest: #00000012;
}

body {
  font-size: var(--md-text-font-size);
  font-weight: var(--spip-font-weight-light);
}

[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--spip-purple);
  --md-primary-fg-color--light: #8e7cc3;
  --md-primary-fg-color--dark: var(--spip-purple-strong);
  --md-accent-fg-color: var(--spip-blue);
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--spip-purple);
  --md-primary-fg-color--light: #8e7cc3;
  --md-primary-fg-color--dark: var(--spip-purple-strong);
  --md-accent-fg-color: #6ca8ff;
  --md-typeset-a-color: #8ab8ff;

  /* Reset grays for dark mode */
  --md-default-fg-color--light: rgba(255, 255, 255, 0.7);
  --md-nav-link-color: rgba(255, 255, 255, 0.85);
  --md-typeset-color: rgba(255, 255, 255, 0.9);
}

.md-typeset, .md-nav {
    font-size: var(--md-text-font-size);
    line-height: var(--md-typeset-line-height);
    font-weight: var(--spip-font-weight-light);
}

.md-nav > .md-nav__list {
  margin-top: .5em;
}
.md-nav__link {
  margin-top: .25em;
}

/* Darken titles in left and right navigation */
.md-nav__title, 
.md-nav__link--active,
.md-nav__link:focus, 
.md-nav__link:hover {
  color: #444 !important;
  font-weight: var(--spip-font-weight-regular);
}
[data-md-color-scheme="slate"] :is(.md-nav__title, .md-nav__link--active,.md-nav__link:focus, .md-nav__link:hover) {
  color: #fff !important;
}

/* Darken "Table of contents" title */
.md-sidebar--secondary .md-nav__title {
  color: #444 !important;
  font-weight: var(--spip-font-weight-regular);
}
[data-md-color-scheme="slate"] .md-sidebar--secondary .md-nav__title {
  color: #fff !important;
  font-weight: var(--spip-font-weight-regular);
}

/* Darken and bold all headings in the content area */
.md-content .md-typeset :is(h1, h2, h3, h4, h5, h6) {
  color: #111;
  font-weight: 700;
}

/* Restore headings color for dark mode */
[data-md-color-scheme="slate"] .md-typeset :is(h1, h2, h3, h4, h5, h6) {
  color: #fff;
}

/* Reduce headings size and spacing */
.md-typeset h1 { font-size: 1.6em; margin-bottom: 0.5em; }
.md-typeset h2 { font-size: 1.3em; margin-top: 1.2em; }
.md-typeset h3 { font-size: 1.1em; }

.md-typeset a {
  text-decoration-thickness: 0.09em;
}

/* Hide redundant logo in header */
.md-header__button.md-logo {
  display: none;
}

/* SPIP top navigation bar alignment */
#boussole_spip {
  position: relative !important;
  top: auto !important;
  width: 100%;
  z-index: 1;
}

/* Center the content of the topnav to match Material's content width */
#boussole_spip > ul {
  max-width: 61rem; /* Material default max-width */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0.8rem !important;
  padding-right: 0.8rem !important;
}

/* Ensure the topnav items use the same font */
.menu_container.spip-theme > ul > li a {
  font-family: 'Montserrat', sans-serif !important;
}
