/* ============================================================
   NIVANO — global.css
   Variables, reset, body, texture de fond, typographies de base.
   Commun à toutes les pages du design "suite collaborative".
   ============================================================ */

:root {
    --creme: #FFFCF7;
    --creme-clair: #FFFEFA;
    --creme-fonce: #F2EBDE;
    --noir: #1A1614;
    --noir-doux: #2B2622;
    --rose: #E592B5;
    --rose-fonce: #CD6590;
    --rose-pale: #F5D5E3;
    --rose-trace: #FAEAF1;
    --gris: #6B645B;
    --gris-clair: #B5AC9F;
    --gris-trace: rgba(26, 22, 20, 0.08);
    --ligne: rgba(26, 22, 20, 0.1);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Hanken Grotesk', sans-serif;
    background: var(--creme);
    color: var(--noir);
    line-height: 1.55;
    font-size: 16px;
    overflow-x: hidden;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
    opacity: 0.1;
    pointer-events: none;
    z-index: 1;
    mix-blend-mode: multiply;
}

.container {
    position: relative;
    z-index: 2;
}

h1,
h2,
h3,
h4,
.display {
    font-family: 'Onest', sans-serif;
}

h1 em,
h2 em,
h3 em,
h4 em,
.display em,
.em-accent {
    font-family: 'Familjen Grotesk', sans-serif;
    font-style: italic;
    font-weight: 500;
    color: var(--rose-fonce);
}

/* Accessibilité : lien d'évitement */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 200;
    background: var(--noir);
    color: var(--creme);
    padding: 10px 18px;
    border-radius: 0 0 10px 0;
    font-size: 14px;
    font-weight: 600;
}

.skip-link:focus {
    left: 0;
}

/* Focus visible discret sur les éléments interactifs */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible {
    outline: 2px solid var(--rose-fonce);
    outline-offset: 3px;
    border-radius: 4px;
}

/* Respect de prefers-reduced-motion : on coupe les animations d'entrée */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}
