/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}



body {
    font-family: 'Roboto';
    background: #F3F3F3;
}

.container {
    width: 100%;
    max-width: 710px;
    margin: 0 auto;
}

header {
    padding: 20px;
}

header .container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    max-width: 100%;
}

@media screen and (max-width: 1040px) {

    header .container {
        flex-direction: column;
    }
}

header .logo {
    padding-right: 10px;
    border-right: 1px solid #000;
    margin-right:10px;
}

@media screen and (max-width: 1040px) {
    header .logo {
        padding-right: 0;
        border-right: 0;
        margin-right:0;
        margin-bottom:20px;
    }
}

header .logo img {
    width: 144px;
    display: block;
}

@media screen and (max-width: 1040px) {

    header .logo img {
        width: 360px;
    }

}

header .menu_edition {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

header .menu_edition__label {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    color: #333;
    white-space: nowrap;
}

header .menu_edition ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

header .menu_edition a {
    font-size: 14px;
    line-height: 1em;
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    color: #6b6b6b;
    transition: 200ms linear all;
    text-decoration: none;
    white-space: nowrap;
}

@media screen and (max-width: 1040px) {

    header .menu_edition a {
        font-size: 14px;
        line-height: 20px;
    }

}

header .menu_edition a:hover,
header .menu_edition a.current {
    color: #1a6fa8;
}

/* Édition active : signalée aussi par le soulignement, pas uniquement par la couleur (RGAA 3.1 / WCAG 1.4.1).
   Robuste en mode couleurs forcées, où la couleur seule disparaît. */
header .menu_edition a.current {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Accessibilité — focus visible clavier (RGAA 10.7) */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid #1a6fa8;
    outline-offset: 2px;
}

header .menu_edition li + li {
    border-left: 1px solid #000;
    padding-left: 10px;
    margin-left: 10px;
}

.pdf .container_pdf {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

.couverture {
    margin-bottom: 30px;
    padding: 0 20px;
}

.couverture img {
    display: block;
    margin: 0 auto;
    /* min() : plafonné à 320px sur grand écran, mais ne dépasse jamais son conteneur
       (évite le défilement horizontal à 320px de large — RGAA 10.11). */
    max-width: min(320px, 100%);
}

#flipbook {
    width: 100% !important;
    height: 800px !important;
}

@media screen and (max-width: 1040px) {


    #flipbook {
        width: 100% !important;
        height: 500px !important;
    }

}

/* ===== Respect automatique des préférences système d'accessibilité ===== */

/* Mouvement réduit : neutralise transitions, animations et défilement animé */
@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;
    }
}

/* Contraste renforcé demandé par l'OS : textes plus foncés, bordures et focus plus marqués */
@media (prefers-contrast: more) {
    header .menu_edition a { color: #3a3a3a; }
    .action-btn { border-width: 3px; }
    a:focus-visible,
    button:focus-visible,
    summary:focus-visible,
    [tabindex]:focus-visible { outline-width: 3px; }
}

/* Mode couleurs forcées (ex. contraste élevé Windows) : bordures et focus garantis visibles */
@media (forced-colors: active) {
    .action-btn { border: 2px solid ButtonText; }
    a:focus-visible,
    button:focus-visible,
    summary:focus-visible,
    [tabindex]:focus-visible { outline: 3px solid Highlight; }
}

/* Contraste des contrôles du flipbook dflip (RGAA 3.2 / 3.3).
   dflip.css affiche ses libellés en gris trop clairs : .df-ui-btn et .df-share-title en #777
   (≈4,48:1), le numéro de page en #999 (≈2,85:1), les boutons de partage en #aaa. On les fonce
   à #595959 (≈7:1 sur blanc). Scopé sous #flipbook pour l'emporter sur dflip.css — chargé après —
   sans !important ni modification du thème d'origine. */
#flipbook .df-ui-btn,
#flipbook span.df-share-title,
#flipbook .df-ui .df-ui-page label,
#flipbook .df-share-button { color: #595959; }

/* Bouton « Haut de page » flottant (apparaît au défilement) */
.back-to-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1000;
    background: #1a6fa8;
    color: #fff;
    padding: .6rem 1rem;
    border-radius: 6px;
    font-weight: bold;
    font-size: .95rem;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s;
}
.back-to-top.is-visible { opacity: 1; visibility: visible; }
.back-to-top:hover,
.back-to-top:focus-visible { background: #14547f; }