@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Rubik+Mono+One&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root{
    --mono-font: 'Space Mono', monospace;
    /* --content-font: "Noto Sans", sans-serif; */
    --content-font: "Roboto", sans-serif;
    --display-font: "Rubik Mono One", monospace;
    --background-color: #18181b;
    --text-color: #fafaf9;
    --text-grey: #d6d3d1;
    --accent-color: #38bdf8;
    --visited-color: #9333ea;
    --page-width: min(round(nearest, 80ch, 5px), 90dvw);
}

nav {
    display: flex;
    gap: 2em;
}

body {
    background-color: var(--background-color);
    color: var(--text-color);
    font-family: var(--content-font);
    max-width: var(--page-width);
    margin: auto;
}

footer {
    margin-bottom: 4em;
}

a:visited:not(.no-visited-color) {
    color: var(--visited-color);
}

.inpage-link {
    color: var(--accent-color);
    text-decoration: none;
    text-decoration-line: none;
    position: relative;
    display: inline-block;
    &:before {
        content: "";
        bottom: 0;
        left: 0;
        position: absolute;
        background-color: var(--accent-color);
        width: 0;
        height: 1px;
        transition-duration: 300ms;
    }
    &:hover:before  {
        width: 100%;
    }
}

h3 {
    margin: 0;
    padding-bottom: .4rem;
}

h1 {
    margin: 0;
    padding: 0;
    width: fit-content;
    font-family: var(--display-font);
}

.nom_page_a {
    color: var(--text-color);
    text-decoration-line: none;
    position: relative;
    display: inline-block;
    &:before {
        content: "";
        bottom: 0;
        left: 0;
        position: absolute;
        background-color: var(--text-color);
        width: 0;
        height: 1px;
        transition-duration: 300ms;
    }
    &:hover:before  {
        width: 100%;
    }
}

article:not(:first-child), section:not(:first-child) {
    padding-top: 2em;
}

.detail {
    font-family: var(--mono-font);
    color: var(--text-grey);
    &::before {
        content : "→ ";
    }
}

h2, p, ol {
    margin: 0;
}

.header_main{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
}

header {
    flex-grow: 1;
    margin-top: 1em;
    margin-bottom: 1em;
}

article header {
    margin: 0;
}

.lien_page::before {
    content: "🔗";
    display: inline-block;
    margin-right: 1ch;
}

.lien_page {
    color: var(--accent-color);
    text-decoration-line: none;
}


.logo {
    width: 1em; /* La largeur de l'image sera 2 fois la taille de la police */
    height: auto; /* Maintient le ratio de l'image */
    margin-right: 0.2em;
}

img:not(.logo) {
    margin-top: 1em;
    margin-bottom: 1em;
    max-width: 100%;
    object-fit: contain;
}

.gallery {
    display: flex;
    width: var(--page-width);
    gap: 1em
}

.gallery img {
    max-width: calc(50% - .5em);
}