.flipbook-wrapper-571145fc {
    width: 100%;
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 720px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(0,0,0,0.3);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    color: #f4f4f5;
    background: #09090b;
}

/* stage & general structure */
.flipbook-main-container-571145fc {
    display: flex;
    flex: 1;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.flipbook-stage-571145fc {
    flex: 1;
    background-color: #18181b;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px;
    overflow: hidden;
    position: relative;
}

/* Sidebar & Thumbnails */
.flipbook-sidebar-571145fc {
    width: 240px;
    background: #18181b;
    border-right: 1px solid #27272a;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.3s ease;
    z-index: 20;
    overflow: hidden;
}

.flipbook-sidebar-571145fc.collapsed-571145fc {
    width: 0;
    border-right: none;
}

.flipbook-sidebar-header-571145fc {
    padding: 15px;
    border-bottom: 1px solid #27272a;
}

.flipbook-sidebar-header-571145fc h4 {
    margin: 0;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #a1a1aa;
}

.flipbook-thumbnails-grid-571145fc {
    flex: 1;
    overflow-y: auto;
    padding: 15px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.flipbook-thumb-571145fc {
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 4px;
    overflow: hidden;
    background: #27272a;
    aspect-ratio: 3/4;
    position: relative;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.flipbook-thumb-571145fc:hover {
    transform: translateY(-2px);
}

.flipbook-thumb-571145fc canvas {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.flipbook-thumb-num-571145fc {
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: rgba(0,0,0,0.7);
    color: #fff;
    font-size: 10px;
    padding: 2px 5px;
    border-radius: 3px;
}

/* Viewport and Book View */
.flipbook-book-viewport-571145fc {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 2500px;
}

.flipbook-book-3d-571145fc {
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.4s ease;
    user-select: none;
}

/* Individual Pages & leafing "feuilletage" effects */
.flipbook-page-571145fc {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    transition: transform 0.9s cubic-bezier(0.2, 0.55, 0.25, 1), z-index 0.1s ease;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 5px 25px rgba(0,0,0,0.25);
    cursor: pointer;
    box-sizing: border-box;
}

/* Left pages rotate around right edge */
.flipbook-page-571145fc.left-page-571145fc {
    left: 0;
    transform-origin: right center;
    border-radius: 8px 0 0 8px;
}

/* Right pages rotate around left edge */
.flipbook-page-571145fc.right-page-571145fc {
    left: 50%;
    transform-origin: left center;
    border-radius: 0 8px 8px 0;
}

/* realistic page lift rotation values */
.flipbook-page-571145fc.flipped-left-571145fc {
    transform: rotateY(-180deg) translateZ(0.5px);
}

.flipbook-page-571145fc.flipped-right-571145fc {
    transform: rotateY(180deg) translateZ(0.5px);
}

/* Dynamic Leafing Shadow & Highlights */
.flipbook-page-overlay-571145fc {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 5;
    background: rgba(0, 0, 0, 0);
    transition: background 0.9s cubic-bezier(0.2, 0.55, 0.25, 1);
}

/* Shadow curls mimicking a flipping page light/dark shift */
.flipbook-page-571145fc.flipped-left-571145fc .flipbook-page-overlay-571145fc {
    background: linear-gradient(to left, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.05) 100%);
}

.flipbook-page-571145fc.flipped-right-571145fc .flipbook-page-overlay-571145fc {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.05) 100%);
}

/* Dynamic turning fold visual cue (page gradient) */
.flipbook-page-571145fc.turning-571145fc {
    z-index: 500 !important;
}

.flipbook-page-571145fc.turning-571145fc.left-page-571145fc .flipbook-page-overlay-571145fc {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0.2) 60%, rgba(0, 0, 0, 0.05) 90%, rgba(0, 0, 0, 0.25) 100%);
}

.flipbook-page-571145fc.turning-571145fc.right-page-571145fc .flipbook-page-overlay-571145fc {
    background: linear-gradient(to left, rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0.2) 60%, rgba(0, 0, 0, 0.05) 90%, rgba(0, 0, 0, 0.25) 100%);
}

.flipbook-page-content-571145fc {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    pointer-events: none;
    background: #ffffff;
}

.flipbook-page-content-571145fc canvas {
    max-width: 100%;
    max-height: 100%;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    display: block;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* Center Spine Overlay inside book */
.flipbook-spine-571145fc {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40px;
    z-index: 12;
    pointer-events: none;
}

.dir-ltr .flipbook-spine-571145fc {
    background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.18) 35%, rgba(0,0,0,0.45) 50%, rgba(0,0,0,0.18) 65%, rgba(0,0,0,0) 100%);
}

/* Controls & Toolbar */
.flipbook-toolbar-571145fc {
    height: 60px;
    background: #09090b;
    border-top: 1px solid #27272a;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    z-index: 10;
}

.flipbook-tb-left-571145fc,\
.flipbook-tb-center-571145fc,\
.flipbook-tb-right-571145fc {
    display: flex;
    align-items: center;
    gap: 8px;
}

.flipbook-btn-571145fc {
    background: #18181b;
    border: 1px solid #27272a;
    color: #e4e4e7;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 15px;
    transition: background 0.2s, border-color 0.2s, transform 0.1s;
}

.flipbook-btn-571145fc:hover {
    background: #27272a;
    color: #ffffff;
}

.flipbook-btn-571145fc:active {
    transform: scale(0.95);
}

.flipbook-page-picker-571145fc {
    background: #18181b;
    border: 1px solid #27272a;
    border-radius: 8px;
    padding: 0 10px;
    height: 38px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.flipbook-page-input-571145fc {
    width: 40px;
    background: transparent;
    border: none;
    color: #ffffff;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
}

.flipbook-page-input-571145fc::-webkit-outer-spin-button,\
.flipbook-page-input-571145fc::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.flipbook-slash-571145fc {
    color: #71717a;
    font-weight: 400;
}

.flipbook-total-pages-571145fc {
    color: #a1a1aa;
    font-size: 14px;
    font-weight: 500;
}

/* Loading Overlay */
.flipbook-loader-571145fc {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(9, 9, 11, 0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
    transition: opacity 0.4s ease;
}

.flipbook-loader-card-571145fc {
    text-align: center;
    padding: 30px;
}

.flipbook-icon-spin-571145fc {
    font-size: 32px;
    display: inline-block;
    animation: spin-571145fc 1.2s infinite linear;
    color: #3b82f6;
    margin-bottom: 12px;
}

.flipbook-loader-txt-571145fc {
    margin: 0 0 15px 0;
    font-size: 15px;
    color: #a1a1aa;
}

.pdf-progress-bar-571145fc {
    width: 200px;
    height: 4px;
    background: #27272a;
    border-radius: 10px;
    overflow: hidden;
    margin: 0 auto;
}

.pdf-progress-bar-inner-571145fc {
    height: 100%;
    width: 10%;
    background: #3b82f6;
    transition: width 0.3s ease;
}

@keyframes spin-571145fc {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Fullscreen support */
.flipbook-wrapper-571145fc:fullscreen {
    height: 100vh !important;
    width: 100vw !important;
    border-radius: 0;
}

/* Accessibility reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .flipbook-page-571145fc {
        transition: none !important;
    }
}

/* Responsive adjustment */
@media (max-width: 768px) {
    .flipbook-wrapper-571145fc {
        height: 580px;
    }
    .flipbook-page-571145fc {
        width: 100% !important;
        left: 0 !important;
        border-radius: 8px !important;
    }
    .flipbook-sidebar-571145fc {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        box-shadow: 10px 0 25px rgba(0,0,0,0.5);
    }
}
/* =====================================================================
   Flipbook PDF 571145fc — correctifs v1.5.0
   A COLLER A LA FIN de style.css (les regles ci-dessous ecrasent
   volontairement quelques regles plus haut : garder cet ordre).
   ===================================================================== */

/* --- Miniature active (le selecteur JS etait casse, il est repare) --- */
.flipbook-thumb-571145fc.active-571145fc {
    border-color: #3b82f6;
    box-shadow: 0 0 0 1px #3b82f6, 0 4px 14px rgba(59, 130, 246, 0.35);
}

/* --- Ombre de reliure (gutter) : degrade porte pres du dos, cote interieur --- */
.flipbook-gutter-571145fc {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 14%;
    max-width: 60px;
    z-index: 6;
    pointer-events: none;
}
.flipbook-page-571145fc.left-page-571145fc .flipbook-gutter-571145fc {
    right: 0;
    background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.18) 100%);
}
.flipbook-page-571145fc.right-page-571145fc .flipbook-gutter-571145fc {
    left: 0;
    background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.18) 100%);
}

/* --- Ombre de pli pendant la rotation : culmine au milieu du flip,
       synchronisee sur la vitesse reelle (--flip-ms, posee par le JS) --- */
.flipbook-page-571145fc.turning-571145fc {
    animation: flip-fold-571145fc var(--flip-ms, 600ms) cubic-bezier(0.23, 1, 0.32, 1);
}
@keyframes flip-fold-571145fc {
    0%   { box-shadow: 0 5px 25px rgba(0,0,0,0.25); }
    50%  { box-shadow: 0 22px 50px rgba(0,0,0,0.45); }
    100% { box-shadow: 0 5px 25px rgba(0,0,0,0.25); }
}

/* --- Overlay directionnel : remplace l'assombrissement plat (0.15) par
       un degrade qui donne le relief du pli cote reliure --- */
.flipbook-page-571145fc.flipped-left-571145fc .flipbook-page-overlay-571145fc {
    background: linear-gradient(to left, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.05) 60%, rgba(0,0,0,0) 100%);
}
.flipbook-page-571145fc.right-page-571145fc.flipped-right-571145fc .flipbook-page-overlay-571145fc {
    background: linear-gradient(to right, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.05) 60%, rgba(0,0,0,0) 100%);
}

/* --- Mobile (page unique) : pas de gutter --- */
@media (max-width: 768px) {
    .flipbook-gutter-571145fc { display: none; }
}

/* --- Accessibilite : pas d'animation d'ombre si reduced-motion --- */
@media (prefers-reduced-motion: reduce) {
    .flipbook-page-571145fc.turning-571145fc { animation: none !important; }
}
/* =====================================================================
   Flipbook PDF 571145fc — v1.6.0 : integration StPageFlip (feuilletage papier)
   A COLLER A LA FIN de style.css.
   ===================================================================== */

/* StPageFlip gere sa propre perspective 3D : on neutralise celle du parent */
.flipbook-book-viewport-571145fc {
    perspective: none;
}

/* Centrage du livre StPageFlip dans la scene */
.flipbook-book-3d-571145fc .stf__parent {
    margin: 0 auto;
}
.flipbook-book-3d-571145fc .stf__wrapper {
    margin: 0 auto;
}

/* Miniatures : desormais des <img> (avant : <canvas>) */
.flipbook-thumb-571145fc img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.flipbook-thumb-571145fc.active-571145fc {
    border-color: #3b82f6;
    box-shadow: 0 0 0 1px #3b82f6, 0 4px 14px rgba(59, 130, 246, 0.35);
}
/* =====================================================================
   Flipbook PDF 571145fc — alignement barre du bas + icones SVG
   MARQUEUR: flipbook-tb-fix   (a coller a la fin de style.css, une seule fois)
   ===================================================================== */

/* Tout sur une seule ligne, jamais de retour a la ligne */
.flipbook-toolbar-571145fc { flex-wrap: nowrap; gap: 6px; }
.flipbook-tb-left-571145fc,
.flipbook-tb-center-571145fc,
.flipbook-tb-right-571145fc { flex-wrap: nowrap; }

/* Icones SVG (imprimer / plein ecran) : meme taille que les autres, couleur heritee */
.flipbook-btn-571145fc svg {
    width: 18px;
    height: 18px;
    display: block;
    color: inherit;
}

/* Mobile : on compacte pour que tout tienne sur une ligne */
@media (max-width: 640px) {
    .flipbook-toolbar-571145fc { padding: 0 8px; gap: 4px; height: 56px; }
    .flipbook-tb-left-571145fc,
    .flipbook-tb-center-571145fc,
    .flipbook-tb-right-571145fc { gap: 4px; }
    .flipbook-btn-571145fc { width: 34px; height: 34px; font-size: 13px; }
    .flipbook-btn-571145fc svg { width: 16px; height: 16px; }
    .flipbook-page-picker-571145fc { height: 34px; padding: 0 6px; }
    .flipbook-page-input-571145fc { width: 28px; font-size: 13px; }
    .flipbook-total-pages-571145fc { font-size: 13px; }
    .flipbook-slash-571145fc { font-size: 13px; }
}

/* Tres petits ecrans : encore un cran plus compact */
@media (max-width: 380px) {
    .flipbook-btn-571145fc { width: 30px; height: 30px; }
    .flipbook-page-picker-571145fc { height: 30px; padding: 0 4px; }
}
