/* Base globale — charte Cognitera (tokens définis dans cognitera.css) */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: var(--cog-font);
    margin: 0;
    padding: 0;
    background: var(--cog-bg);
    color: var(--cog-navy);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--cog-font);
    font-weight: 600;
    margin: 0 0 10px 0;
    color: var(--cog-navy);
    line-height: 1.2;
}

h1 {
    font-size: 36px;
    letter-spacing: -0.01em;
}

h2 {
    font-size: 24px;
}

h3 {
    font-size: 20px;
}

p {
    margin: 0 0 10px 0;
    line-height: 1.6;
}

a {
    color: var(--cog-navy);
    text-decoration: none;
    transition: color .18s ease;
}

a:hover {
    color: var(--cog-green-strong);
    text-decoration: none;
}

:focus-visible {
    outline: 2px solid var(--cog-green);
    outline-offset: 2px;
    border-radius: 4px;
}

img {
    max-width: 100%;
}

.container {
    width: 100%;
    max-width: var(--cog-shell);
    margin: 0 auto;
    padding: 15px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.col {
    flex: 1;
    padding: 0 15px;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }

.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
