@charset "UTF-8";
/* CSS Document */
/* === PAS D'ITALIQUE — règle globale === */
* { font-style: normal !important; }



/* === CHARGEMENT DES POLICES === */
@font-face {
    font-family: 'Raleway';
    src: url('https://art.claris.fr/News/fonts/raleway/Raleway-Light.woff2') format('woff2'),
         url('https://art.claris.fr/News/fonts/raleway/Raleway-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Raleway';
    src: url('https://art.claris.fr/News/fonts/raleway/Raleway-Regular.woff2') format('woff2'),
         url('https://art.claris.fr/News/fonts/raleway/Raleway-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Raleway';
    src: url('https://art.claris.fr/News/fonts/raleway/Raleway-Bold.woff2') format('woff2'),
         url('https://art.claris.fr/News/fonts/raleway/Raleway-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Raleway';
    src: url('https://art.claris.fr/News/fonts/raleway/Raleway-Thin.woff2') format('woff2'),
         url('https://art.claris.fr/News/fonts/raleway/Raleway-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
}

/* === SUPPRESSION DES MARGES HAUTES ET BASSES GLOBALES === */
/* On exclut separator, titre et blocs de texte pour préserver leurs marges */
*:not(.separator):not(.titre):not(.gros-titre):not(.texte):not(.intro):not(.citation):not(.chapitre):not(.bleu):not(.note):not(.main-content):not(.scroll-anchor) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0;
}

/* === STYLE GÉNÉRAL === */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-family: 'Raleway', sans-serif;
    font-style: normal !important;
    -webkit-user-select: text !important;
    user-select: text !important;
}

/* === HEADER === */
header {
    text-align: center !important;
    width: 100%;
    padding-top: 52px !important;
    box-sizing: border-box;
}

/* Contenu textuel du header : centré et contraint comme le reste */
header > *:not(img) {
    max-width: 860px;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* Note et séparateur du header : padding interne pour aligner avec le contenu */
header .note,
header .separator,
header p,
header h1,
header audio,
header button {
    padding-left: 5% !important;
    padding-right: 5% !important;
}

/* Le séparateur du header : même largeur que le contenu, pas pleine page */
header .separator {
    max-width: 860px;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 90%;
}

header img {
    width: 100vw;
    height: auto;
    display: block;
    max-width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    border: none;
    vertical-align: top;
    margin: 0 !important;
    padding: 0 !important;
}

/* === SÉPARATEUR === */
.separator {
    height: 1px;
    background-color: #1a8fe8; /* bleu azur — haut de page */
    border: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 3em !important;
    margin-bottom: 3em !important;
    padding: 0 !important;
}

/* Variation des séparateurs du haut vers le bas */
.separator:nth-of-type(2)  { background-color: #0d82e0; }
.separator:nth-of-type(3)  { background-color: #0077c8; }
.separator:nth-of-type(4)  { background-color: #0068b8; }
.separator:nth-of-type(5)  { background-color: #005ed3; }
.separator:nth-of-type(6)  { background-color: #2d4db8; }
.separator:nth-of-type(7)  { background-color: #3a45b0; }
.separator:nth-of-type(8)  { background-color: #4a3fbf; }
.separator:nth-of-type(9)  { background-color: #3d3a9e; }
.separator:nth-of-type(10) { background-color: #1a3d7a; }

/* === CONTENU PRINCIPAL — largeur max pour texte et séparateurs === */
.main-content {
    text-align: justify !important;
    max-width: 860px;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 5%;
    padding-right: 5%;
    box-sizing: border-box;
}

/* === TITRES === */
.gros-titre {
    font-family: 'Raleway', sans-serif;
    font-size: 60px;
    font-style: normal !important;
    color: #1a8fe8 !important; /* bleu azur clair — tout en haut */
    letter-spacing: 3px;
    font-weight: 200;
    text-align: center;
    margin-top: 50px !important;
    margin-bottom: 20px !important;
}

.titre {
    font-family: 'Raleway', sans-serif;
    font-size: 18px;
    font-weight: 700;
    font-style: normal !important;
    color: #0d82e0; /* bleu vif — début de contenu */
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 3em !important;
    margin-bottom: 3em !important;
}

/* Variation des titres du haut vers le bas */
h2.titre:nth-of-type(2)  { color: #0077c8; }
h2.titre:nth-of-type(3)  { color: #0068b8; }
h2.titre:nth-of-type(4)  { color: #005ed3; }
h2.titre:nth-of-type(5)  { color: #2d4db8; }
h2.titre:nth-of-type(6)  { color: #3a45b0; }
h2.titre:nth-of-type(7)  { color: #4a3fbf; }
h2.titre:nth-of-type(8)  { color: #3d3a9e; }
h2.titre:nth-of-type(9)  { color: #1a3d7a; }

/* Compenser le padding-top du scroll-anchor (70px) 
   pour que l'espace séparateur→titre soit identique partout */
.scroll-anchor {
    display: block !important;
    height: 0 !important;
    visibility: hidden !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Décalage navbar appliqué via l'ancre elle-même dans le PHP,
   on compense proprement avec un pseudo-élément sur les sections */
[id].scroll-anchor::before {
    content: '';
    display: block;
    height: 70px;
    margin-top: -70px;
    visibility: hidden;
    pointer-events: none;
}

/* === TEXTES — référence marges : left 5%, right 10% === */
.texte, .texte-bold, .intro, .citation, .chapitre {
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal !important;
    line-height: 1.7;
    color: #222222;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 1.5em !important;
    margin-bottom: 1.5em !important;
    text-align: justify;
    word-break: break-word !important;
    hyphens: auto !important;
}

.texte-bold {
    font-weight: 700;
    color: #555555;
}

/* .intro — hérite de .texte, .intro, .citation, .chapitre */
.intro { font-weight: 300; color: #333; }

/* .citation — hérite de .texte, .intro, .citation, .chapitre */
.citation { font-weight: 300; color: #333; }

/* .chapitre — hérite de .texte, .intro, .citation, .chapitre */
.chapitre { text-align: left; }

.bleu {
    font-family: 'Raleway', sans-serif;
    font-size: 18px !important;
    font-style: normal !important;
    color: #0d9de8 !important; /* bleu cyan — texte haïku */
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 1.5em !important;
    margin-bottom: 1.5em !important;
}

/* === NOTE === */
.note {
    font-family: 'Raleway', sans-serif;
    font-size: 11px;
    font-style: normal !important;
    color: #666;
    line-height: 1.4;
    text-align: left;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 2em !important;
    margin-bottom: 1.5em !important;
}

/* === STYLE DES LIENS === */
a {
    text-decoration: none;
    color: #1a7abf; /* bleu légèrement vert/cyan */
    font-size: 12px;
    font-style: normal !important;
    transition: color 0.3s ease-in-out;
}

a:hover { color: #000000; }
a:visited { color: darkred; }
.navbar a, .navbar a:visited,
.mobile-menu a, .mobile-menu a:visited { color: inherit; }

/* === ALIGNEMENTS === */
.align-center {
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.align-left { text-align: left; }

/* === CÉSURE — intégrée dans le groupe .texte === */

/* === ANCHOR HOME === */
#home {
    height: 0px !important;
    line-height: 0px !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
}

/* === BOUTONS === */
.audio-button {
    padding: 12px 24px;
    font-size: 16px;
    font-family: 'Raleway', sans-serif;
    font-style: normal !important;
    background-color: #0070a0; /* bleu-vert profond */
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.audio-button:hover { background-color: #004f72; }

.bouton {
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Raleway', sans-serif;
    font-style: normal !important;
    letter-spacing: 2px;
    background-color: #2d4db8; /* bleu indigo */
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    text-decoration: none;
}
.bouton:hover { background-color: #1e3580; }

/* === MODALE === */
.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 999999;
    background: rgba(245, 245, 245, 0.4);
    border: 1px solid rgba(0, 0, 0, 0.3);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    display: none;
    max-width: 300px;
    width: 90%;
    font-size: 15px;
    font-weight: bold;
    color: black !important;
}
.modal::before {
    content: "";
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.25) !important;
    z-index: -1 !important;
}
#btnPoursuivre, #btnAbandonner {
    width: 80% !important;
    padding: 8px !important;
    font-size: 14px !important;
    font-family: 'Raleway', sans-serif;
    border: none !important;
    cursor: pointer !important;
    border-radius: 5px !important;
    text-transform: uppercase !important;
    background-color: #ffffff !important;
    color: #000000 !important;
}
#btnPoursuivre:hover, #btnAbandonner:hover { background-color: #f0f0f0 !important; }

/* === MENU HAMBURGER (ancien, conservé pour compatibilité) === */
.menu, #menu {
    position: fixed;
    top: 10px; right: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0;
    border-radius: 8px;
    z-index: 1000;
}
#menu {
    display: none;
    top: 50px; right: 0;
    width: 150px;
    list-style: none;
    padding: 5px;
    border: 1px solid #ccc;
    font-size: 12px;
    z-index: 999;
}
#menu.active { display: block !important; }
#menu li { border-bottom: 1px solid #ddd; }
#menu li:hover { background-color: #f0f0f0; cursor: pointer; }
#menu li:last-child { border-bottom: none; }
#menu a {
    text-decoration: none;
    color: #000000;
    display: block;
    font-size: 12px;
    padding: 8px;
}

/* === RESPONSIVE === */
@media screen and (max-width: 1200px) {
    .main-content {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
    body { overflow-x: hidden !important; }
}

@media screen and (max-width: 600px) {
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow-x: hidden !important;
    }
    header {
        margin: 0 !important;
        padding-top: 52px !important;
        border: none !important;
    }
    .citation, .intro, .texte, .chapitre {
        margin-left: 5% !important;
        margin-right: 5% !important;
    }
}
